Power Builder - Filtrar y mostrar solo un campo

 
Vista:
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Filtrar y mostrar solo un campo

Publicado por juan (231 intervenciones) el 17/05/2011 20:54:42
Hola nuevamente:

otra de mis inquietudes es:

Como puedo hacer para que al momento de buscar un registro en un datawindow, este me muestre solo uno, es decir el que he buscado y no el resto.

Por otro lado no puedo ponr un mensaje para que al momento de no encontrar el registro me salga un mensaje.

mi código es este:

int l=0, m=0
string r
for m=1 to dw_producto.rowcount()

r = string(dw_producto.getitemnumber(m,"cod_producto"))

if lower(r)=lower(sle_bus.text) then
messagebox("Buscar", "¡Se Encontró el Registro!", Exclamation!)
dw_producto.ScrollToRow(m)
dw_producto.visible=true
sle_bus.text=""
cb_precio.enabled=false
goto chau
else
dw_producto.selectrow(m,FALSE)
l=1
end if
end for
chau:


Al final de este código he agregado este otro para emitir el otro mensaje
/////g_i es una variable gloval de la siguiente manera Long g_i=0
///////////////////////////////////////////////////////////////////////////////////////////
g_i = g_i + 1
if dw_reporte1.rowcount() < 1 then

messagebox("Mensaje","No hay Registros por tramitar~nCompruebe nuevamente el registro que solicita")
end if
////////////////////////////////////////////////////////////////////////////////////////////////////////////

perro lo que hace es que al momento de que emite el mensaje de que si lo encuentra, seguido de este sale el otro mensaje de que no se ha encontrado el registro, y francamente es una locura esto.

Ayuda porfa con esto.

graicas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Filtrar y mostrar solo un campo

Publicado por JeinnerH (646 intervenciones) el 18/05/2011 16:49:41
La búsqueda de un registro se puede hacer utilizando la función Find y para que muestre sólo un registro puedes filtrar el DW.

dw_productos.SetFilter('')
dw_productos.Filter()

li_registro=dw_producto.Find("cod_producto = "+String(ls_cod_producto_buscar), 1, RowCount())
If li_registro = 0 Then
Messagebox('Información', 'No hay un producto localizado con el código indicado', Information!)
RETURN FALSE
End If

dw_productos.SetFilter("cod_producto = "+String(ls_cod_producto_buscar)
dw_productos.Filter()
RETURN TRUE

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Filtrar y mostrar solo un campo

Publicado por Juan (231 intervenciones) el 19/05/2011 00:02:49
Hola denuevo, mira a la hora que ejecuto la ventana me dice error del RowCount() no se a que se debe

No me permite hacerlo.

Aparte he dado un tipo de variable String al li_registro esta bien?

Responde porfa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Filtrar y mostrar solo un campo

Publicado por JeinnerH (646 intervenciones) el 19/05/2011 15:48:18
Bueno Juan, lo que te di fue un ejemplo, pero no es la forma final en la que debes hacerlo.

El error del RowCount(), se debe a que no tienen de cuál DW tomar la cantidad de registros, entonces hay que indicarle dw_producto.RowCount()

En Power Builder se acostumbra usar la nomenclatura para las variables:

Si inicial con "l" (ele), significa que es una variable local. Si es con "i", es una variable de instancia, si es "g", es una variable global.

La siguiente letra, indica el tipo de variable:
i - integer
l - long
dc - decimal
dt - datetime
s - string

Y otras.

Así que esto te dará una idea del porqué no está bien la declaración que hiciste.

Te aconsejo que busques en los ejemplos que trae el PB, para que te vayas hubicando un poco más sobre cómo es el desarrollo en Power Builder, es más simple revisar ejemplos que comenzar desde cero.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Filtrar y mostrar solo un campo

Publicado por Isaac Matal (8 intervenciones) el 19/05/2011 22:15:56
antes del Rowcount() debe ir dw_producto. o sea que completo es dw_producto.Rowcount()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Filtrar y mostrar solo un campo

Publicado por MARCELO (2 intervenciones) el 29/08/2011 17:46:17
quiero usar una variable glbal (que se saca de otra ventana) para buscar en un dw




//codigo_respuesta es una variable global uqe capturo de otra ventana

long ll_fila
int codigo
codigo=codigo_respuesta
ll_fila=dw_1.find("con_cod=codigo",1,dw_1.rowcount( ))


//me arroja un error "expression type must match"


Please ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar