Retrieveral argument, como sin usar el control DW

Espero que estés bien... Mi consulta es la siguiente, tengo una ventana con un control ListView creado, este jala desde un datawindow la información(nota:datawindow no el control, si no el que uno crea con la tabla correspondiente, hasta aquí todo esta muy bien, el problema es cuando le pongo al DATAW.. Un retrieveral argument, siempre le he pasado los valores al datawindows control, pero al aquí no existir el control pues lo jalo a un listview, entonces como hago para pasarle la información del retrieve(xxxx)para que me filtre la información que quiero mostrar antes de... Que salga en el ListView...

3 respuestas

Respuesta
1
al no haber con que le hagas el retrieve, puedes hacerle un set filter, con los datos que deseas, esto antes de del retrieve para que cuando termine ya este filtrada, pero lo interesante es saber si la necesitas por una situacion especial, la otra forma es utilizar
string = <DW Control Name>.Object.DataWindow.Syntax
E ir agregando dinámicamente los filtros que necesitas
y lo modificas de dela siguiente foma
string = string + " where que necesitas"
<DW Control Name>.Object.DataWindow.Syntax = string
Acuérdate de guardar la version original del sintax por que si no no podrás regresarlo a su estado original hasta que elimines de memoria al objeto
Respuesta
1
Puedes hacerlo usando datastore,
El código es el siguiente:
En variables de instancia declara
datastore lds_1
En el open:
lds_1 = Create DataStore
lds_1.DataObject="dw_nombre"
lds_1.SetTransObject(SQLCA)
lds_1.Retrieve(xxxx)
En "dw_nombre" por el nombre de tu datawindow que has creado con la tabla
con eso ya podras recuperar los datos en tu listview.
for i=1 to lds_1.rowCount
listview = string(lds_1.object.campo)
next
Cualquier duda solo pregunta
Respuesta
1
El dw que pintas en el pintor es solo una representación visual de un sql.
El control dw es el que tiene la funcionalidad de retrieve etc. El control dw es visual y tiene un equivalente no visual que se llama datastore.
Si te interpreté bien, lo que yo haría sería crear una variable datastore, setearle como dataobject la dw y hacer el retrieve a la misma.
Según cuando y donde uses los datos, la datastore puede ser de instancia o local.
Ej.
datastore ldst_temp//la declaro
ldst_temp = create datastore//la creo
ldst_temp.dataobject = "d_tu_datawindow"
ldst_temp.settransobject(sqlca)//acá chequea el valor de retorno
if ldst_temp.retrieve(tu_parametro) > 0 then
//ahora podes recorrer las filas obtenidas y llenar la lista
else
//no hay nada
end if
Nota: podes hacer lo mismo que te puse antes usando un control dw invisible

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas