Control Checkbox en Datawindow

Es una consulta en Power Builder. Inserte controles checkbox en un datawindow external (con la opción edit lo convertí) pero me permite seleccionar más de uno. Como puedo hacer para que solo permita seleccionar uno, hay manera de controlar eso...

2 respuestas

Respuesta
1
El checkbox ha sido creado para seleccionar más de una fila, ahora para hacer lo que tu quieres utiliza el radiobutton, el cual ha sido diseñado para cumplir con la función que deseas.
Pero si sigues con la idea de utilizar el checkbox entonces haz lo siguiente:
En el evento itemchanged del dw coloca:
for k=1 to dw_1.rowcount()
   if k <> row then
      ls_opcion = dw_1.getitemstring(k,'flg_opcion')
      if ls_opcion = 'S' then
          dw_1.setitem(row,'flg_opcion','N')
      end if
   end if
next
Adapte el código que enviaste, no se si lo hice mal pero no me funciono.. creo que me falto aclarar que era un datawindow external.. Pero al final se pudo controlar que solo seleccione un checkbox con el siguiente código: (lo puse en el evento itemchanged del datawindow)
choose case dwo.name
 case 'objeto_nuevo'
  if data='0' then
   dw_2.object.objeto_cambio[dw_2.getrow()]='1'
   dw_2.object.cont_igual[dw_2.getrow()]='1'
  end if
 case 'objeto_cambio'
  if data='0' then
   dw_2.object.objeto_nuevo[dw_2.getrow()]='1'
   dw_2.object.cont_igual[dw_2.getrow()]='1'
  end if
 case 'cont_igual'
  if data='0' then
   dw_2.object.objeto_nuevo[dw_2.getrow()]='1'
   dw_2.object.objeto_cambio[dw_2.getrow()]='1'
  end if
end choose
... Thanks...
Respuesta
1
¿No se entiende mucho la pregunta pero creo que lo que quieres hacer es un control de varias opciones para seleccionar solo una? De ser así, creo debes utilizar un radiobutton y no un checkbox.
También se puede utilizar un checkbox, pude controlarlo con el siguiente código (aquí lo copio)
nota: objeto_cambio, objeto_nuevo, objeto_nuevo son los nombres de los checkbox
el codigo va en el evento itemchanged del datawindow
 choose case dwo.name
 case 'objeto_nuevo'
  if data='0' then
   dw_2.object.objeto_cambio[dw_2.getrow()]='1'
   dw_2.object.cont_igual[dw_2.getrow()]='1'
  end if
 case 'objeto_cambio'
  if data='0' then
   dw_2.object.objeto_nuevo[dw_2.getrow()]='1'
   dw_2.object.cont_igual[dw_2.getrow()]='1'
  end if
 case 'cont_igual'
  if data='0' then
   dw_2.object.objeto_nuevo[dw_2.getrow()]='1'
   dw_2.object.objeto_cambio[dw_2.getrow()]='1'
  end if
end choose
:D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas