![]() |
2 sobre DataGrids Hola qtal, Me gustaría saber si es posible hacer alguna de estas dos cosas: 1.- Cargar un DataGrid en "modo edición". Es decir, que en el DataGrid se muestren de entrada unos textbox con los datos recuperados por una consulta para poder modificarlos. 2.- Se puede cargar un DataGrid a partir de un vector? Es decir, la fuente de información del DataGrid sería un vector y las columnas del DataGrid se corresponderían con cada una de las posiciones del vector. Gracias y saludos, |
Cita:
Ejemplo: <asp:DataGrid id="tabs" runat="server" Width="483px" AutoGenerateColumns="False" > <Columns> <asp:TemplateColumn HeaderText="Contact Name"> <ItemTemplate> <asp:textbox ID="txtContact" Runat=server text='<%# Container.DataItem("ContactName") %> '> </asp:textbox> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="Address"> <ItemTemplate> <asp:textbox ID="txtAddress" Runat=server text='<%# Container.DataItem("Address") %>'> </asp:textbox> <ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> Y con ello cuando se carge la pagina se cargará en un textbox. :-D Cita:
Cita:
Espero que te sirvan éstos ejemplos. ;-) Saludos :adios: |
Hola qtal, Gracias por la ayuda. Una cosa más, tengo una select que me recupera 3 campos. Uno lo quiero poner en un checkbox y el otro en un textbox. Y quiero que se repita n veces (tantas como registros tenga la select) por el DataGrid. Es decir, cada fila del Datagrid tendrá un checkbox (marcado o no en función del 3er campo de mi select) y a su lado, un textbox (con información o no en función de si el checkbox está marcado o no). Entiendo que el montaje es un poco complicado :-) De momento tengo la consulta, ahora me falta visualizar esa consulta en el DataGrid. Ah! Otra duda que me surge. Es posible en un datagrid pintar la información en, por ejemplo, 3 columnas de n filas? Por ejemplo, si la consulta me recupera 60 registros, hacer 3 columnas de 20 registros cada una Gracias y saludos, |
Cita:
Cita:
Saludos :adios: |
A ver si consigo explicarme porque lo que quiero hacer creo que es un poco complicado: Voy a suponer que sabes SQL (espero que si). Lo que quiero hacer es el mantenimiento de una relación M a N. Imagina que tengo una tabla con modelos de coche (Audi A3, Ford Mondeo, ...) y otra con equipamientos de coches (Llantas de aleación, aire acondicionado). Lo que quiero hacer es un formulario donde pueda asignar el equipamiento a un modelo de coche. Pasando como parámetro el modelo del coche, tengo un Datagrid, y cada fila o registro del DataGrid consta de: - Un checkbox cuya etiqueta es el nombre del equipamiento que quiero asignar a ese modelo de coche - Un textbox que es un campo de observaciones El funcionamiento del formulario es el siguiente. Yo voy marcando checkboxes y añadiendo las observaciones y cuando le doy a un botón de guardar, tengo que guardar en la tabla de la relación M a N, los registros del DataGrid |
A ver si consigo explicarme porque lo que quiero hacer creo que es un poco complicado: Voy a suponer que sabes SQL (espero que si). Lo que quiero hacer es el mantenimiento de una relación M a N. Imagina que tengo una tabla con modelos de coche (Audi A3, Ford Mondeo, ...) y otra con equipamientos de coches (Llantas de aleación, aire acondicionado). Lo que quiero hacer es un formulario donde pueda asignar el equipamiento a un modelo de coche. Pasando como parámetro el modelo del coche, tengo un Datagrid, y cada fila o registro del DataGrid consta de: - Un checkbox cuya etiqueta es el nombre del equipamiento que quiero asignar a ese modelo de coche - Un textbox que es un campo de observaciones El funcionamiento del formulario es el siguiente. Yo voy marcando checkboxes y añadiendo las observaciones y cuando le doy a un botón de guardar, tengo que guardar en la tabla de la relación M a N, los registros del DataGrid que tengan el checkbox activado. Hasta aquí bien? Ahora, el "problema" lo tengo cuando entro en el formulario con un modelo que ya tiene asignado algún equipamiento, porque me tiene que aparecer el checkbox del equipamiento marcado. He intentado probando lo siguiente: <asp:DataGrid ... OnItemDataBound="pr_activar_checks"> <columns> <asp:TemplateColumn HeaderText="Característica"> <ItemTemplate> <asp:CheckBox Runat=server Text='<%# Container.DataItem("caracteristica") %> '> </asp:CheckBox> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="Ubicación"> <ItemTemplate> <asp:textbox ID="txtAddress" Runat=server text='<%# Container.DataItem("ubicacion") %>'> </asp:textbox> </ItemTemplate> </asp:TemplateColumn> </columns> </asp:DataGrid> La idea, lo que no se hacer y no se si se puede o no, es que desde la función que llamo con el OnItemDataBound, pueda acceder a la propiedad Text del Textbox del DataGrid y, si me recupera texto, entonces haría esto: If (texto_que_recupero de e.Item.Cells(2) <> nulo) Then Dim cBox as checkBox cBox.Checked = True e.Item.Cells(0).Controls.Add(cBox) End If Entiendes la idea? Gracias y saludos |
Cita:
Cita:
Cita:
Espero te sirva. :cool: Suerte :arriba: |
ok, probaré lo que sugieres, a ver qué tal. Una última cosa para cerrar el círculo. Es posible ir recorriendo un DataGrid registro a registro para ir insertando los valores del registro en el SQL Server? La idea es tener un botón que al pulsarlo, llame a un procedimiento que vaya recuperando los valores del datagrid. Luego yo, en función de si un campo está checkeado o no, haría un insert en la base de datos, Saludos, |
Hola qtal, Ya he cerrado el círculo :arriba: Utilizo este código en un botón externo al DataGrid para recorrer cada fila del DataGrid e ir insertando los valores en la base de datos. Dim gridrow As DataGridItem For Each gridrow In tabs.Items cod_caracteristica = CType(gridrow.FindControl("cod_carac"), TextBox).Text nom_caracteristica = CType(gridrow.FindControl("cb_carac"), CheckBox).Text ubicacion = CType(gridrow.FindControl("ubicacion"), TextBox).Text If ubicacion <> "" Then ' Hago la inserción End if Next Gracias por la ayuda y saludos |
Re: 2 sobre DataGrids hola! una consulta y como haces para actualizar tu datagrid desde un boton externo a este.. porque son varios campos de texto. Me sale solo para un solo campo pero no para otro de diferente id |
| La zona horaria es GMT -6. Ahora son las 17:20. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.