怎样为datagrid中的模板列中的dropdownlist控件绑定数据? 可以绑定方法:DataSet ListBind(){ //dropdownlist的数据源 return 数据源}dropdownlist做如下绑定:DataSource="<%#ListBind()%>" 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是预先绑定的话,你先把dropdownlist控件绑定完数据后,再将其绑定到datagrid模板列中就行了。如果是在.cs文件中写代码绑定的话,楼上的方法就可以了。 可是怎么把dropdownlist绑定到datagrid呢? <asp:TemplateColumn>里把dropdownlist寫在<EditItemTemplate>中像這樣:<asp:TemplateColumn SortExpression="BU別" HeaderText="BU別"> <ItemTemplate> <asp:Label Runat="server"> <%# DataBinder.Eval(Container.DataItem, "BU別") %> </asp:Label> </ItemTemplate> <EditItemTemplate> <asp:DropDownList Width=90 Runat=server DataSource='<%# BindBU(DataBinder.Eval(Container.DataItem, "BU別").ToString())%>' SelectedIndex='<%# BindBU1(DataBinder.Eval(Container.DataItem, "BU別").ToString())%>' DataTextField="name" DataValueField="buid" ID=dllBU /> </EditItemTemplate> </asp:TemplateColumn>你需要定義這兩個函數public DataSet BindBU(string ss) { string butxt="SELECT name,buid FROM BU"; SqlDataAdapter sda3=new SqlDataAdapter(butxt,s.pcConn); DataSet ds3=new DataSet(); sda3.Fill(ds3,"BU"); return ds3; } public int BindBU1(string ss) { string butxt1="SELECT buid,name FROM BU"; SqlCommand myCommand2= new SqlCommand(butxt1, s.pcConn); myCommand2.Connection.Open(); SqlDataReader dr = myCommand2.ExecuteReader(); int i=0; while(dr.Read()) { if(dr.GetValue(1).ToString()==ss)break; i++; } myCommand2.Connection.Close(); return i; } 大概是這樣,可能寫的有點笨:),這是我剛才開始學的時候寫的. 绑定数据我已经解决了,但奇怪的是我没法引用我在模板中定义的dropdownlist控件,有没有人能告诉我为什么?!系统报错:未将对象引用设置到对象的实例。我实在是晕了!!! 关于SqlDataReader读取问题 数据插入时出错,求教 2003server 使用asp做的网站 突然页面显示不出来 cookies共享问题 我是一个初学者,请各位赶快帮帮忙吧 !!!!!!!!!!!!!!!!!!!!! 从数据库中下载任意文件时无法自动选定要保存的文件类型 请教思归孟子等高手!!! word文档转换为PDF文件格式的接口程序 一台机器上两个Web页不同权限的用户,登录之后权限相同?请问怎么办? 在treeview里面能不能给每个节点上放上两个checkbox? 大 自定义控件的问题
像這樣:
<asp:TemplateColumn SortExpression="BU別" HeaderText="BU別">
<ItemTemplate>
<asp:Label Runat="server">
<%# DataBinder.Eval(Container.DataItem, "BU別") %>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList Width=90 Runat=server DataSource='<%# BindBU(DataBinder.Eval(Container.DataItem, "BU別").ToString())%>' SelectedIndex='<%# BindBU1(DataBinder.Eval(Container.DataItem, "BU別").ToString())%>' DataTextField="name" DataValueField="buid" ID=dllBU />
</EditItemTemplate>
</asp:TemplateColumn>你需要定義這兩個函數
public DataSet BindBU(string ss)
{
string butxt="SELECT name,buid FROM BU";
SqlDataAdapter sda3=new SqlDataAdapter(butxt,s.pcConn);
DataSet ds3=new DataSet();
sda3.Fill(ds3,"BU");
return ds3;
} public int BindBU1(string ss)
{
string butxt1="SELECT buid,name FROM BU";
SqlCommand myCommand2= new SqlCommand(butxt1, s.pcConn);
myCommand2.Connection.Open();
SqlDataReader dr = myCommand2.ExecuteReader();
int i=0;
while(dr.Read())
{ if(dr.GetValue(1).ToString()==ss)break;
i++;
}
myCommand2.Connection.Close();
return i;
}
大概是這樣,可能寫的有點笨:),這是我剛才開始學的時候寫的.