Foros del Web » Programando para Internet » ASPX (.net) »

agregar columna de checkbox a un datagrid

Estas en el tema de agregar columna de checkbox a un datagrid en el foro de ASPX (.net) en Foros del Web. Hola . Que tal espero que alguien me pueda ayudar, estoy haciendo un sistema de inventario en web y tengo una coneccion a una base ...
  #1 (permalink)  
Antiguo 04/07/2008, 13:28
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 15 años, 9 meses
Puntos: 0
Pregunta agregar columna de checkbox a un datagrid

Hola .

Que tal espero que alguien me pueda ayudar, estoy haciendo un sistema de inventario en web y tengo una coneccion a una base de datos en Oracle, hago una consulta y me muestra un datagrid con la informacion que pido en la consulta.

A ese datagrid le quiero poner un campo con checkbox para elegir uno o varios registros del datagrid, pero cuando me meto a "Editar columnas..." agrego el "Campo CheckBox" y se ve la columna pero no los checkbox ni a la hoda de correrlo.
Que puedo hacer para que se vean, y para poder modificar los registros que seleccione y mandarlos a un reporte en CrystalReport ??

Les agradeceria que me ayudaran estoy en Visual Studio 2005 con ASP.net
gracias .
  #2 (permalink)  
Antiguo 04/07/2008, 13:46
Avatar de juantux  
Fecha de Ingreso: marzo-2005
Mensajes: 59
Antigüedad: 19 años, 1 mes
Puntos: 1
Respuesta: agregar columna de checkbox a un datagrid

Estimado,

hazlo con un Template del gridview. Edita las columnas del gridview, agregas una columna itemTemplate, luego te vas a la edicion de la plantilla, y en la seccion itemTemplate arrastras un control checkbox a la sección.

Deberia quedarte algo asi:

Código:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="reg"
            DataSourceID="SqlDataSource1" Style="position: static">
            <Columns>
                <asp:BoundField DataField="reg" HeaderText="reg" ReadOnly="True" SortExpression="reg" />
                <asp:BoundField DataField="agricultor" HeaderText="agricultor" SortExpression="agricultor" />
                <asp:BoundField DataField="rut" HeaderText="rut" SortExpression="rut" />
                <asp:BoundField DataField="mail" HeaderText="mail" SortExpression="mail" />
                <asp:TemplateField HeaderText="Seleccion">
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox1" runat="server" Style="position: static" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
Despues solo te faltaría programar el checkbox, recorriendo la grilla y utlizando findcontrol para obtener los elementos seleccionados.

Espero haberte apoyado un poco.

Suerte,

Juantux
  #3 (permalink)  
Antiguo 22/07/2008, 12:19
 
Fecha de Ingreso: julio-2008
Mensajes: 1
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: agregar columna de checkbox a un datagrid

Buen dia Juantux!

Qusiera saber una cosa con respecto a la solución q propones....viendo q se define un "ID" para el checkbox...

<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Style="position: static" />
</ItemTemplate>

Cómo puedo identificar el checkbox de una fila con el de otra dentro del GridView?, o cómo puedo asignar ID's distintos a estos?, puedo hacerlos en tiempo de ejecucion?

Lo intente hacer recorriendo la grilla y refiriendome al control asi:

GridView1.Rows(index).Cell(index1).Controls(0)

pero no consigo obtener el cotrol...

De antemano agradezco cualquier ayuda
  #4 (permalink)  
Antiguo 23/07/2008, 01:16
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: agregar columna de checkbox a un datagrid

Depende donde necesites acceder a ese checkbox. Si es en un metodo itemdatabound, itemcommand o es desde fuera.

Para acceder desde fuera, p.e, al pulsar un botón:

For Each item As DataGridItem In Datagrid1.Items
Dim MiCheck1 As CheckBox = CType(item.FindControl("CheckBox1"), CheckBox)
If Not (MiCheck1 Is Nothing) Then
If MiCheck1.Checked = True Then
response.write ("<BR> Seleccionado fila con ID: " & Datagrid1.DataKeys(item.DataSetIndex))
End If
End If
Next
  #5 (permalink)  
Antiguo 24/08/2010, 09:06
 
Fecha de Ingreso: agosto-2010
Mensajes: 3
Antigüedad: 13 años, 8 meses
Puntos: 0
De acuerdo Gracias Amigo

Muchas gracias amigo, después de mucho buscar en la web no encontré mejor respuesta que la tuya. Te lo agradezco









Cita:
Iniciado por juantux Ver Mensaje
Estimado,

hazlo con un Template del gridview. Edita las columnas del gridview, agregas una columna itemTemplate, luego te vas a la edicion de la plantilla, y en la seccion itemTemplate arrastras un control checkbox a la sección.

Deberia quedarte algo asi:

Código:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="reg"
            DataSourceID="SqlDataSource1" Style="position: static">
            <Columns>
                <asp:BoundField DataField="reg" HeaderText="reg" ReadOnly="True" SortExpression="reg" />
                <asp:BoundField DataField="agricultor" HeaderText="agricultor" SortExpression="agricultor" />
                <asp:BoundField DataField="rut" HeaderText="rut" SortExpression="rut" />
                <asp:BoundField DataField="mail" HeaderText="mail" SortExpression="mail" />
                <asp:TemplateField HeaderText="Seleccion">
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox1" runat="server" Style="position: static" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
Despues solo te faltaría programar el checkbox, recorriendo la grilla y utlizando findcontrol para obtener los elementos seleccionados.

Espero haberte apoyado un poco.

Suerte,

Juantux
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 14:42.