Question

I have a Gridview with template fields conatining drop down lists. I need to populate the dropdownlists with a sql statement. My gridview code is as such:

<asp:TemplateField HeaderText="Ledger">
    <EditItemTemplate>
        <asp:DropDownList ID="ddlItemTempLedger" runat="server" Width="61px">
        </asp:DropDownList>
    </EditItemTemplate>
    <ItemTemplate>
        <asp:Label ID="Label1" runat="server"></asp:Label>
    </ItemTemplate>
    <ItemStyle Width="75px" />
</asp:TemplateField>

And the sql statement I need to populate it with is this:

SELECT V_VendorNo + '|' + V-VendorName FROM VendorTbl

Can anyone assist me with this?

Était-ce utile?

La solution

You will not to get the dropdownlist in RowDataBound event of grid and assign datasource to it and bind it.

protected void GrdViewUsers_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
        DropDownList ddlItemTempLedger = e.Row.FindControl("ddlItemTempLedger ") as DropDownList ;
        ddlItemTempLedger.DataSource = dt; //DataTable from database
        ddlItemTempLedger.DataTextField = "FieldForTextInDataTabledt";
        ddlItemTempLedger.DataValueField = "FieldForValueInDataTabledt";
        ddlItemTempLedger.DataBind();     
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top