前台:
<asp:datagrid id="dgFeeList" runat="server" Width="100%" AutoGenerateColumns="False" OnLoad="dgLoad">
<Columns>
<asp:BoundColumn DataField="FeeName" HeaderText="费用名称">
<HeaderStyle HorizontalAlign="Center" Width="20%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="FeeValue" HeaderText="费用金额">
<HeaderStyle HorizontalAlign="Center" Width="20%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="RealYM" HeaderText="产生年月">
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="选择发票">
<HeaderStyle HorizontalAlign="Center" Width="20%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:DropDownList id="ddlInvoiceNo" runat="server"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>后台:if(dtInvoiceList.Rows.Count>0)
{
DropDownList ddlInvoiceNo = (DropDownList) e.Item.Cells[3].FindControl("ddlInvoiceNo"); ddlInvoiceNo.DataSource = dtInvoiceList;
ddlInvoiceNo.DataTextField = "InvoiceNO";
ddlInvoiceNo.DataValueField = "InvoiceID";
ddlInvoiceNo.DataBind();
}现在的问题是,我写在ItemDataBound事件里,我想让DataGrid加载的时候就绑定下拉列表的数据,但是现在结果却是下拉列表是空的,什么都没有显示出来,请各位帮忙啊!
<asp:datagrid id="dgFeeList" runat="server" Width="100%" AutoGenerateColumns="False" OnLoad="dgLoad">
<Columns>
<asp:BoundColumn DataField="FeeName" HeaderText="费用名称">
<HeaderStyle HorizontalAlign="Center" Width="20%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="FeeValue" HeaderText="费用金额">
<HeaderStyle HorizontalAlign="Center" Width="20%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="RealYM" HeaderText="产生年月">
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="选择发票">
<HeaderStyle HorizontalAlign="Center" Width="20%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:DropDownList id="ddlInvoiceNo" runat="server"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>后台:if(dtInvoiceList.Rows.Count>0)
{
DropDownList ddlInvoiceNo = (DropDownList) e.Item.Cells[3].FindControl("ddlInvoiceNo"); ddlInvoiceNo.DataSource = dtInvoiceList;
ddlInvoiceNo.DataTextField = "InvoiceNO";
ddlInvoiceNo.DataValueField = "InvoiceID";
ddlInvoiceNo.DataBind();
}现在的问题是,我写在ItemDataBound事件里,我想让DataGrid加载的时候就绑定下拉列表的数据,但是现在结果却是下拉列表是空的,什么都没有显示出来,请各位帮忙啊!
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if ((e.Item.ItemType == ListItemType.Item)||(e.Item.ItemType == ListItemType.AlternatingItem))
{
DropDownList ddl = (DropDownList)e.Item.Cells[0].FindControl("ddl1");
//你的绑定代码
}
}