TextBox como columna de DataGrid

Mikel
20 de Junio del 2004
Buenas a [email protected]:

En una página desarrollada en ASP.NET he introducido un DataGrid, en el cual tengo dos columnas en las que solo voy a presentar información y una tercera columna en la que quiero colocar un TextBox en el cual inicialmente presentaré un dato obtenido de una consulta a una tabla de BD y quiero permitir al usuario que lo modifique dicho dato, para posteriormente recuperar la información introducida en los distintos TextBox del DataGrid y grabarlo en la tabla.

Hago todo el proceso para llenar el DataGrid, pero en la columna de los TextBox no me coge los valores que le paso.

Para llenar la tabla hago lo siguiente:

Dim TablaDatos As DataTable = New DataTable
Dim Fila As DataRow
TablaDatos.Columns.Add(New DataColumn("Codigo", GetType(String)))
TablaDatos.Columns.Add(New DataColumn("Descripcion", GetType(String)))
TablaDatos.Columns.Add(New DataColumn("Cantidad", GetType(TextBox)))

Dentro de un bucle introduzco los datos al DataTable asi:

Fila = TablaDatos.NewRow
Fila(0) = LectorDatos.GetValue(0).ToString
Fila(1) = LectorDatos.GetValue(1).ToString
Fila(2) = LectorDatos.GetValue(2).ToString
TablaDatos.Rows.Add(Fila)

Finalmente le paso el DataTable al DataGrid:

DataGrid1.DataSource = TablaDatos
DataGrid1.DataBind()

Tengo varias dudas:

- ¿Cuál es el tipo de columna que debo utilizar para la columna del TextBox? (he utilizado TemplateColumn).
- ¿Es esta la manera correcta de introducir los datos en el DataGrid? … mejor dicho … ¿Es esta la manera correcta de introducir los datos al TextBox del DataGrid? ya que las demas columnas que toma los datos correctamente.

Gracias a [email protected] por anticipado.

Mikel

elph
20 de Junio del 2004
Debes usar la template colum con un itemtemplate i un edititemtemplate, el primero se vera quando no se este editando i el segundo quando se edite