Datagrid中用模版列绑定DropDownList控件,其中DropDownList的数据从数据库中抓取,该如何在DataGrid数据绑定的时候自动绑定DropDwonList的数据。aspx:
<asp:datagrid id="DataGrid1" runat="server" Font-Names="宋体" BorderColor="#C0C0FF" AutoGenerateColumns="False">
<AlternatingItemStyle BackColor="#FDF9DC"></AlternatingItemStyle>
<SelectedItemStyle ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
<HeaderStyle BackColor="#ffffc0" Font-Bold="True" Height="20"></HeaderStyle>
<ItemStyle Height="20" BackColor="#D6F3BE" HorizontalAlign="Center"></ItemStyle>
<Columns>
<asp:BoundColumn DataField="id" HeaderText="序号"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="科目名称">
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:DropDownList id="Ddlcode" runat="server" Width="95px" Font-Size="9pt" selectedindex='<%# DataBinder.Eval(Container, "DataItem.Ccode") %>'>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
aspx.cs
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
SqlConnection conn=new SqlConnection();
conn.ConnectionString="data source=10.102.7.100;initial catalog="+Session["ufAccount"].ToString()+";persist security info=False;user id=sa;password=tclznmaster;packet size=4096";
conn.Open();
SqlDataAdapter da=new SqlDataAdapter("select ccode,(ccode+'|'+ccode_name) as ccode_name from code where charindex('4105',ccode)=1 or patindex('55[01,02]%',ccode)=1 order by ccode",conn);
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DropDownList ddl=(DropDownList)e.Item.FindControls("Ddlcode");
ddl.DataSource=ds.Tables["table1"];
ddl.DataTextField="ccode_name";
ddl.DataValueField="ccode";
ddl.DataBind();

}以上代码出现“未将对象引用设置到对象的实例"的错误。