Foros del Web » Programación para mayores de 30 ;) » .NET »

seleccion multiple en datagrid

Estas en el tema de seleccion multiple en datagrid en el foro de .NET en Foros del Web. Hola tengo un datatable que vuelco en un datagrid , para mostarlo en forma de tabla. Los datos consisten en periodos a pagar, por lo ...
  #1 (permalink)  
Antiguo 17/11/2005, 12:30
 
Fecha de Ingreso: junio-2003
Mensajes: 105
Antigüedad: 20 años, 10 meses
Puntos: 0
seleccion multiple en datagrid

Hola tengo un datatable que vuelco en un datagrid , para mostarlo en forma de tabla.

Los datos consisten en periodos a pagar, por lo que el usuario deberia disponer de una columna adicional, donde exista un checkbos, donde dejar constancia de la seleccion.
una vez seleccionalos los checkbos de las filas deseadas, deberia poder enviar los datos seleccionados mediante un boton, quien los precesaria.

La idea de procesarlos me que si se reciben mediante un array, este podra permitirme recorrerlos para hacer lo que tenga que hacer.

La duda esta en como permitir hacer esa seleccion con un data grid...

o recomiendan otra cosa?


saludos

rob
  #2 (permalink)  
Antiguo 17/11/2005, 13:26
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Me imagino que hablas de aplicaciones web, en todo caso lo único que tienes que hacer es iterar sobre los elementos de éste y comprobar si tienen o no habilitados los CheckBox's.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 17/11/2005, 18:19
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Yo haría lo siguiente.

Una vez el DataTable con los datos, crearía un Datacolum nuevo de tipo booelan y lo agregaría al DataTable.

dtTabla.Columns.Add(New DataColumn("Seleccion", GetType(Boolean))

Y despues asignaría el dataTable al DataGrid. Asi te mostraría directamente los checkboxs y podrías trabajar con ellos de una forma más cómoda y fácil.

En fin, es una idea.

Saludos.
__________________
Charlie.
  #4 (permalink)  
Antiguo 18/11/2005, 05:26
 
Fecha de Ingreso: junio-2003
Mensajes: 105
Antigüedad: 20 años, 10 meses
Puntos: 0
Cita:
Iniciado por xknown
Me imagino que hablas de aplicaciones web, en todo caso lo único que tienes que hacer es iterar sobre los elementos de éste y comprobar si tienen o no habilitados los CheckBox's.

Saludos
la duda apunta a como generar los checkbox dinamicamente en la grilla
r
  #5 (permalink)  
Antiguo 18/11/2005, 05:36
 
Fecha de Ingreso: junio-2003
Mensajes: 105
Antigüedad: 20 años, 10 meses
Puntos: 0
Cita:
Iniciado por chcma
Yo haría lo siguiente.

Una vez el DataTable con los datos, crearía un Datacolum nuevo de tipo booelan y lo agregaría al DataTable.
Hecho
Cita:
dtTabla.Columns.Add(New DataColumn("Seleccion", GetType(Boolean))
Y despues asignaría el dataTable al DataGrid.
Hecho
Cita:
Asi te mostraría directamente los checkboxs y podrías trabajar con ellos de una forma más cómoda y fácil.
Ahora muestra una columna mas pero vacia. como haces para que aparezcan los checks? y que estos tengan una Id y value determinados segun la fila?

Cuando haces el submmit como recolectarias los valores?
  #6 (permalink)  
Antiguo 19/11/2005, 18:53
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Código:
dtTabla.Columns.Add(New DataColumn("Seleccion", GetType(Boolean))
Mmm, haciendo eso ya deberian estar visibles los checkboxs.

Suponiendo que te aparezcan ya los checkboxs, yo CREO que haría lo siguiente:

Una vez seleccionados los checks, guardaría los cambios del dataTable.
Código:
dtTabla.AcceptChanges()

y despues la recorreria.
Código:
Dim objDR as DataRow
For Each objDR in tbDatos.Rows
     If ojbDR("Seleccion") Then 
           'El registro tiene el checkBox Seleccionado
     Else
           'El registro NO tiene el checkBox Seleccionado
     End If
Next
__________________
Charlie.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:10.