| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 636 人关注过本帖
标题:[求助] DropDrownList 动态绑定
取消只看楼主 加入收藏
fqbnet2008
Rank: 2
等 级:新手上路
威 望:4
帖 子:1020
专家分:0
注 册:2007-1-4
结帖率:100%
收藏
 问题点数:0 回复次数:2 
[求助] DropDrownList 动态绑定

我要实现几个二级连动的下拉列表框,所以写了一个方法来实现如下,这个方法没有问题,但是调用的时候,ListSon中总是没有数据。
public void FillList(DropDownList ListFather, DropDownList ListSon)
{

string strFather = ListFather.SelectedItem.ToString();
if (strFather != strEmpty)
{
string strF_id = ListFather.Items[ListFather.SelectedIndex].Value.ToString();
//string strF_id = ListFather.DataValueField[ListFather.SelectedIndex].ToString();
// ListFather已设置了DataValueField属性
string strSql = "select CategoryID,Name from Category where ParentID=" + strF_id;
OleDbConnection conn = getConn();
DataSet ds = new DataSet();
OleDbDataAdapter dap = new OleDbDataAdapter(strSql, conn);
dap.Fill(ds);
ListSon.DataSource=ds.Tables[0].DefaultView;
string stra = ds.Tables[0].DefaultView.Count.ToString();
ListSon.DataTextField = "Name";
ListSon.DataValueField = "CategoryID";
dap.Dispose();
conn.Close();

}

有没有什么好的办法,难道非要把这几行代码在每一个DropDownList里写一遍吗 ?

搜索更多相关主题的帖子: 绑定 动态 string ListFather 
2007-02-06 14:25
fqbnet2008
Rank: 2
等 级:新手上路
威 望:4
帖 子:1020
专家分:0
注 册:2007-1-4
收藏
得分:0 

有值,在这个方发里都有值,但是方法调用完后,我的web窗体中的dropdownlist并没有被动态的邦定。
后来我改进了一下,返回一个dataset对象就行了,只不过每次用的时候都要邦定一次:
public DataSet FillList(DropDownList ListFather)
{
DataSet ds = new DataSet();

string strFather = ListFather.SelectedItem.ToString();
if (strFather != strEmpty)
{
string strF_id = ListFather.Items[ListFather.SelectedIndex].Value.ToString();
//string strF_id = ListFather.DataValueField[ListFather.SelectedIndex].ToString();
// ListFather已设置了DataValueField属性
string strSql = "select CategoryID,Name from Category where ParentID=" + strF_id;
OleDbConnection conn = getConn();
OleDbDataAdapter dap = new OleDbDataAdapter(strSql, conn);
dap.Fill(ds);
//ListSon.DataSource=ds.Tables[0].DefaultView;
// string stra = ds.Tables[0].DefaultView.Count.ToString();
// ListSon.DataTextField = "Name";
//ListSon.DataValueField = "CategoryID";
dap.Dispose();
conn.Close();

}
return ds;
}
调用的时候用dataset接收,然后邦定就行了。
DataSet ds= FillList(DropDownList1);
DropDownList2.DataSource=ds.Tables[0].DefaultView;
DropDownList2.DataTextField = "Name";
DropDownList2.DataValueField = "CategoryID";
DropDownList2.dataBing();




雄关漫道真如铁,而今迈步从头越,从头越,苍山如海,残阳如血㊣♀★
2007-02-07 09:39
fqbnet2008
Rank: 2
等 级:新手上路
威 望:4
帖 子:1020
专家分:0
注 册:2007-1-4
收藏
得分:0 
我发现了我昨天的那段代码之所以有一点儿问题,是因为没有邦定,绑定一下就好了。
ListSon.DataSource=ds.Tables[0].DefaultView;
ListSon.DataTextField = "Name";
ListSon.DataValueField = "CategoryID";
ListSon.dataBing();
我就是不明白,下面这两句代码,为什么第二句就不好使了??
string strF_id = ListFather.Items[ListFather.SelectedIndex].Value.ToString();
//string strF_id = ListFather.DataValueField[ListFather.SelectedIndex].ToString();

雄关漫道真如铁,而今迈步从头越,从头越,苍山如海,残阳如血㊣♀★
2007-02-07 10:15
快速回复:[求助] DropDrownList 动态绑定
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015626 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved