Vincular DropDownList t Datatable Column dentro de DataGrid Control [cerrado]

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,

preguntado el 12 de junio de 12 a las 10:06

1 Respuestas

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

en realidad estoy usando DataGrid No controlar DataGridView - dotmido

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

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.