Problema con DDDW Ayuda
Publicado por jesus ramon (2 intervenciones) el 25/03/2006 20:43:45
Buenos tardes.
Tengo una ventana , en ella tengo 2 dw, una que es dw_empresas en donde en el evento click de esta dw, guardo la empresa clickeada, esta empresa me sirve para hacer un filtro a la segnda dw, para que me muestre solo aquellos registros donde aparezca la empresa escogida. En esta segunda ventana tengo una columna llamada nombre en la cual tengo un dddw en la cual me debe solo de mostrar los empleados de la empresa escogida en la dw_empresas.
Hasta aqui todo va bien, el detalle es que cuando yo inserto una nueva fila y selecciono el nombre de un empleado X, me cambia los nombres de los registros anteriores que hubiera arrojado el filtro, ya he estado buscando cual es la falla o porque hace esto , pero aun no se porque, estoy apenas iniciando enPB.
Aqui les muestro el codigo y en qu eventos esta>
Evento clicked de la primera dw_empresas--------
ls_empresa=getitemstring(row,this.getcolumnname())
li_idempresa=Integer(getitemnumber(row,'idempresa'))//var. declarada global
dw_incidencias.settransobject(SQLCA)
dw_incidencias.setfilter("String(idempresa)= '"+String(li_idempresa)+" '")
//Aqui aplico el filtro a la segunda ventana deacuerdo ala empresa escogida
dw_incidencias.filter()
dw_incidencias.retrieve()
evento clicked del boton insertar ------------------
ll_row= dw_incidencias.insertrow(0)
dw_incidencias.scrolltorow(dw_incidencias.rowcount())
//Esto solo para isertar una nueva row
Evento clicked dela segunda dw_incidencias-----
Datawindowchild dwc
if ll_row= row then
getchild('nombre',dwc)
dwc.settransobject(SQLCA)
dwc.retrieve(Integer(li_idempresa))
end if
//Esto es para que cuando haga click en la columna nombre, despliegue el dddw con los nombres que pertenecen a la empresa seleccionada
evento itemchanged de dw_incidencias(la segunda dw)------
Integer li_idempleado,li_iddepto
string ls_null,
datawindowchild dwc
if row =ll_row then
setnull(ls_null)
accepttext()
choose case this.getcolumnname()
case 'nombre'
setitem(row,'nombre',ls_null)
setitem(row,'iddepto',ls_null)
setitem(row,'idempleado',ls_null)
dw_incidencias.getchild('nombre',dwc)
dwc.settransobject(SQLCA)
dwc.retrieve(Integer(li_idempresa))
li_idempleado=dwc.GetItemNumber(dwc.Find("nombre='" + data + "'", 0, dwc.rowcount()),'idempleado')
li_iddepto=dwc.GetItemNumber(dwc.Find("nombre='" + data + "'", 0, dwc.rowcount()),'iddepto')
setitem(row,'idempleado',li_idempleado)
setitem(row,'iddepto',li_iddepto)
setitem(row,'idempresa',li_idempresa)
setitem(row,'altauser',gsusername)
end choose
end if
Tengo la idea de que el problema es cuando hago click en la columna nombre ya que alli es en el preciso momento en que me cambia los datos del nombre de los registros que se tienen antes, esto es solo de manera visual porque en la base de datos no refleja estos cambios, y asi me pasa si llego a insertar otro registro, al cambiar el nombre, me los cambia los demas a el que se ha escogido ahora.
Se agradece de antemano cualquier ayuda.
saludos
Tengo una ventana , en ella tengo 2 dw, una que es dw_empresas en donde en el evento click de esta dw, guardo la empresa clickeada, esta empresa me sirve para hacer un filtro a la segnda dw, para que me muestre solo aquellos registros donde aparezca la empresa escogida. En esta segunda ventana tengo una columna llamada nombre en la cual tengo un dddw en la cual me debe solo de mostrar los empleados de la empresa escogida en la dw_empresas.
Hasta aqui todo va bien, el detalle es que cuando yo inserto una nueva fila y selecciono el nombre de un empleado X, me cambia los nombres de los registros anteriores que hubiera arrojado el filtro, ya he estado buscando cual es la falla o porque hace esto , pero aun no se porque, estoy apenas iniciando enPB.
Aqui les muestro el codigo y en qu eventos esta>
Evento clicked de la primera dw_empresas--------
ls_empresa=getitemstring(row,this.getcolumnname())
li_idempresa=Integer(getitemnumber(row,'idempresa'))//var. declarada global
dw_incidencias.settransobject(SQLCA)
dw_incidencias.setfilter("String(idempresa)= '"+String(li_idempresa)+" '")
//Aqui aplico el filtro a la segunda ventana deacuerdo ala empresa escogida
dw_incidencias.filter()
dw_incidencias.retrieve()
evento clicked del boton insertar ------------------
ll_row= dw_incidencias.insertrow(0)
dw_incidencias.scrolltorow(dw_incidencias.rowcount())
//Esto solo para isertar una nueva row
Evento clicked dela segunda dw_incidencias-----
Datawindowchild dwc
if ll_row= row then
getchild('nombre',dwc)
dwc.settransobject(SQLCA)
dwc.retrieve(Integer(li_idempresa))
end if
//Esto es para que cuando haga click en la columna nombre, despliegue el dddw con los nombres que pertenecen a la empresa seleccionada
evento itemchanged de dw_incidencias(la segunda dw)------
Integer li_idempleado,li_iddepto
string ls_null,
datawindowchild dwc
if row =ll_row then
setnull(ls_null)
accepttext()
choose case this.getcolumnname()
case 'nombre'
setitem(row,'nombre',ls_null)
setitem(row,'iddepto',ls_null)
setitem(row,'idempleado',ls_null)
dw_incidencias.getchild('nombre',dwc)
dwc.settransobject(SQLCA)
dwc.retrieve(Integer(li_idempresa))
li_idempleado=dwc.GetItemNumber(dwc.Find("nombre='" + data + "'", 0, dwc.rowcount()),'idempleado')
li_iddepto=dwc.GetItemNumber(dwc.Find("nombre='" + data + "'", 0, dwc.rowcount()),'iddepto')
setitem(row,'idempleado',li_idempleado)
setitem(row,'iddepto',li_iddepto)
setitem(row,'idempresa',li_idempresa)
setitem(row,'altauser',gsusername)
end choose
end if
Tengo la idea de que el problema es cuando hago click en la columna nombre ya que alli es en el preciso momento en que me cambia los datos del nombre de los registros que se tienen antes, esto es solo de manera visual porque en la base de datos no refleja estos cambios, y asi me pasa si llego a insertar otro registro, al cambiar el nombre, me los cambia los demas a el que se ha escogido ahora.
Se agradece de antemano cualquier ayuda.
saludos
Valora esta pregunta


0