Vincular DropDownList t Datatable Column dentro de DataGrid Control [cerrado]
Frecuentes
Visto 10,652 veces
2
tengo DataGrid
Control que obtiene sus datos de DataTable
dentro de este DataGrid quiero enlazar DropDownList
Control con sus datos relacionados en DataTable
DropDownList commentDrop = (DropDownList)packageCommentDataGrid.FindControl("commentDrop");
commentDrop.DataSource = dt;
commentDrop.DataTextField = dt.Columns["CommentString"][0];
commentDrop.DataValueField = dt.Columns["CommentP"][0];
y el evento ItemDataBound será así:
protected void packageCommentDataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType==ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
DropDownList commentDrop = (DropDownList)e.Item.FindControl("commentDrop");
}
}
Gracias,
1 Respuestas
2
Si te entiendo correctamente, esto es lo que querrás hacer.
Primero:
Tendrás que convertir el GridView
columna que tiene la DropDownList
a TemplateField
. Asegúrate que DropDownList
está dentro del <TemplateField><ItemTemplate><DropDownList id="" runat="server" /></ItemTemplate></TemplateField>
.
Segundo:
Crea el Gridview.RowDataBound
controlador de eventos en su código detrás. Luego dentro de este método haz lo siguiente:
if(e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList ddl = (DropDownList)e.Row.Cells["Column Name / Index here"].FindControl("commentDrop");
ddl.DataSource = dt;
ddl.DataTextField = "Column Name";
ddl.DataValueField = "Column Name";
ddl.DataBind();
}
Respondido el 12 de junio de 12 a las 10:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas asp.net sql-server data-binding datagrid dropdownbox or haz tu propia pregunta.
en realidad estoy usando
DataGrid
No controlarDataGridView
- dotmidoSí, lo sé, pero GridView es el sucesor de DataGrid y es más fácil trabajar con él. ¿Qué marco Dotnet estás usando? Antes de usar el control DataGrid, considere usar el control GridView en su lugar. El control GridView, que se introdujo en la versión 2.0 de .NET Framework, es el sucesor del control DataGrid. - Sr. GT
Entonces realmente le sugiero que use GridView en lugar de DataGrid. Pero si tiene la intención de quedarse con DataGrid, entonces me temo que esta respuesta le será de poca ayuda. Ver la diferencia - Sr. GT
Te tengo, revisaré esto :) Gracias amigo - dotmido