C#DROPDOWNLIST二级联动的问题

两个DROPDOWNLIST一个button,第一个DROPDOWNLIST选择后到数据库中查找对应的项填充到第二个DROPDOWNLIST里,第二个选择好后点butto... 两个DROPDOWNLIST一个button,第一个DROPDOWNLIST选择后到数据库中查找对应的项填充到第二个DROPDOWNLIST里,第二个选择好后点button提交数据。

目前只处理到按照第一个数的字段查找数据库的对应的项,不知道怎么填充到第二个DROPDOWNLIST里。高手帮忙下!
展开
 我来答
rightmin
推荐于2016-05-25 · TA获得超过4124个赞
知道大有可为答主
回答量:2199
采纳率:0%
帮助的人:1790万
展开全部
这还得看你的数据库是怎么设计的呢?

举个例子吧,设计产品数据库,包含2个表
表1:产品分类表(ID,分类的名称)
表2:产品表(ID,产品的名字,产品分类(表1的主键))

第一种方法:同步刷新
在页面显示的时候,第一个DROPDOWNLIST绑定到产品分类表,并且设置它的AutoPostBack属性为True
然后在Page_Load事件里面写入:
if (IsPostBack)
{
try
{
Int32 id = Int32.Parse(DropDownList1.SelectedValue);

string sql = "SELECT [ID], [产品名称] FROM [产品表] WHERE ([分类ID] = " + id + ")";
DataTable Dt = DbHelper.OleDbHelper.GetDataSet(sql).Tables[0];//这是我自己写的一个数据库操作类,返回一个数据表格
string code, name;
DropDownList2.Items.Clear();//清除上次的内容
for (int i = 0; i < Dt.Rows.Count; i++)
{
code = Dt.Rows[i]["ID"].ToString();
name = Dt.Rows[i]["产品名称"].ToString();
DropDownList2.Items.Add(new ListItem(name, code));//填充数据
}
}
catch { }
}

第二种,异步刷新
先在页面里面放入一个ScriptManager,再放入一个UpdatePanel,然后在UpdatePanel里面放入2个DropDownList,其他步骤和第一种一样。
机元思0hd923
2009-06-02 · TA获得超过860个赞
知道答主
回答量:255
采纳率:0%
帮助的人:413万
展开全部
这个要在前一个dropdownlist的SelectedIndexChanged事件里面编写触发事件,这样当前一个
dropdownlist的值改变之后才能出发后面的dropdownlist的联动效果给个例子你参考下,希望能对你有帮助

private void Bindnav()
{
conn.conn cc=new whmx.admin.conn.conn();

DataTable dt=cc.shownav().Tables[0];
this.DropDownList1.DataSource=dt;
this.DropDownList1.DataTextField="navname";
this.DropDownList1.DataBind();
}
/// <summary>
/// 绑定 headname
/// </summary>
private void Bindhead()
{
string navname=String.Empty;
navname=this.DropDownList1.SelectedItem.Text;
if(this.DropDownList1.SelectedItem.Text==navname)
{
conn.conn dd=new whmx.admin.conn.conn();
DataTable dt=dd.showheadname(navname).Tables[0];
foreach(DataRow row in dt.Rows)
{
this.DropDownList2.Items.Add(row["headname"].ToString());
}
}
}

protected void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
this.DropDownList2.Items.Clear();
Bindhead();//级联绑定navname
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQ2k5
2009-06-02 · TA获得超过438个赞
知道小有建树答主
回答量:911
采纳率:25%
帮助的人:256万
展开全部
第一个dropdownlist你绑定好了,在dropdownlist1_SelectedIndexChange事件中根据dropdownlist1.selectitem.value去数据库中查找相关数据,吧数据绑定到dropdownlist2中就可以了,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cqsong1988
2009-06-02
知道答主
回答量:50
采纳率:0%
帮助的人:0
展开全部
选择第一个项时加值改变事件 调用后台方法,查询相应数据 在后台指定第二个数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heisetoufa
2009-06-02 · TA获得超过522个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:423万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式