| |||
Volcar registros en un datagrid DEJÁNDOLOS COMO CAMPOS EDITABLES Lo que necesito realizar, es que los datos que vayan a mostrarse en el datagrid, vayan en campos de texto (con nombres correctamente asignados para después poder hacer referencia a ellos), de forma tal que el usuario pueda editarlos a su antojo. ¿Es esto posible? ¿O lo único que puedo hacer es que si el usuario quiere editar, en un formulario aparte tenga que introducir los códigosy los datos para su edición dejando el datagrid inicial únicamente para mostrar los datos? |
| |||
Re: Volcar registros en un datagrid DEJÁNDOLOS COMO CAMPOS EDITABLES Si puedes. Usa TemplateColumn. Prueba: <asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False"> <Columns> <asp:TemplateColumn HeaderText="Recursos"> <ItemTemplate> <asp:TextBox id="TextBox1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Recurso") %>'></asp:TextBox> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:datagrid> |
| |||
Re: Volcar registros en un datagrid DEJÁNDOLOS COMO CAMPOS EDITABLES Ok, gracias! Y en eso que has puesto, ¿cómo funciona DataBinder.Eval (del cual no sé ni qué parámetros se le están pasando, como "container")? ¿Cómo lo relaciono con mi función Cita: que es la que hace que el Datagrid funcione (y se rellene como quiero), cuando le pongo un dataSource y le hago un dataBind? Public Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound Dim i As Integer If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.SelectedItem Then For i = 1 To e.Item.Cells.Count ... |
| |||
Re: Volcar registros en un datagrid DEJÁNDOLOS COMO CAMPOS EDITABLES No es en esa funcion. Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Page.IsPostBack = False Then '1ª vez que se ejecuta LoadfromDB() End If End Sub end sub Private Sub LoadfromDB() 'cargar locales de cada centro Dim dt As DataTable = ........(lo que uses sql server para datos) If dt Is Nothing Then Exit Sub DataGrid1.DataSource = dt DataGrid1.DataBind() End Sub En el ejemplo que te puse "Recurso" es un campo de dt (DATATABLE). |