c#,winform,combobox联动

本文介绍如何使用C#进行数据库操作并实现组合框的数据绑定,包括从数据库中读取数据填充组合框,并根据选择项进一步加载关联数据。此外,还提供了两种方法来设置默认选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



C# code
None.gifprivate void RegisterForm_Load(object sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gifSqlConnection con 
= new SqlConnection("server=root_db;database=users;uid=sa;password=");
InBlock.gifSqlDataAdapter da 
= new SqlDataAdapter("select group_id, group_name from mygroup", con);
InBlock.gifDataSet ds 
= new DataSet();
InBlock.gifda.Fill(ds, 
"group");
InBlock.gifDataTable dtGroup 
= ds.Tables["group"];
InBlock.gif
InBlock.gifcomboBox1.DataSource 
= dtGroup;
InBlock.gifcomboBox1.DisplayMember 
= "group_name";
InBlock.gifcomboBox1.ValueMember 
= "group_id";
ExpandedBlockEnd.gif}

None.gif
None.gif
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif
if (comboBox1.SelectedIndex > -1)
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gif
//注意以下两行代码,估计人的错误就在这里
InBlock.gif
DataRowView drv = (DataRowView)comboBox1.SelectedItem;
InBlock.gif
string gId = drv.Row["group_id"].ToString();
InBlock.gifSqlConnection con 
= new SqlConnection("server=root_db;database=users;uid=sa;password=");
InBlock.gifSqlDataAdapter da 
= new SqlDataAdapter("select user_id, user_name from myuser where group_id='" + gId + "'", con);
InBlock.gifDataSet ds 
= new DataSet();
InBlock.gifda.Fill(ds, 
"user");
InBlock.gifDataTable dtUser 
= ds.Tables["user"];
InBlock.gif
InBlock.gifcomboBox2.DataSource 
= dtUser;
InBlock.gifcomboBox2.DisplayMember 
= "user_name";
InBlock.gifcomboBox2.ValueMember 
= "user_id";
ExpandedSubBlockEnd.gif}

ExpandedBlockEnd.gif}

None.gif
None.gif




至于设置一项“请选择市”,有两种方法
1、在select里添加
SQL code
None.gifselect '00' as cid, '请选择市' as cityname union select cid, cityname from yourtable




2、在取出后添加
C# code
None.gifDataRow dr = dt.NewRow();
None.gifdr[
"cid"= "00";
None.gifdr[
"cityname"= "请选择市";
None.gifdt.Rows.InsertAt(dr, 
0);
None.gifcomboBox1.DataSource 
= dt;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值