解决C# WinForm中一组ComBox下拉改变时全变问题

cbo1.DisplayMember = "name";
cbo1.ValueMember = "id";
cbo1.DataSource = ds.Tables[0];

cbo2.DisplayMember = "name";
cbo2.ValueMember = "id";
cbo2.DataSource = ds.Tables[0];

cbo3.DisplayMember = "name";
cbo3.ValueMember = "id";
cbo3.DataSource = ds.Tables[0];

.................

在C# WinForm中如果你有一组ComBox,在某个box下拉改变后,其余的也都会改变,解决办法很简单,就是把数据源Copy一下就好了!

例:ds.Tables[0].Copy();

C# WinForm里,当ComboBox下拉选择更新下拉选项,可以借助 `SelectedIndexChanged` 事件达成。下面给出一个示例代码: ```csharp using System; using System.Data.SqlClient; using System.Drawing; using System.Windows.Forms; namespace ComboBoxExample { public partial class Form1 : Form { public Form1() { InitializeComponent(); comboBox1.SelectedIndexChanged += ComboBox1_SelectedIndexChanged; // 初始化下拉选项 InsertComShopID(comboBox1); } private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e) { // 当选择改变更新下拉选项 InsertComShopID(comboBox1); } public void InsertComShopID(ComboBox cb) { cb.Items.Clear();//清空ComBox SqlCommand cmd = new SqlCommand("select name from shop", DB.Getcon());//构造连接字符串并切打开数据库连接 SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read()) { cb.Items.Add(sdr[0].ToString());//循环读取数据 }//end block while sdr.Close();// 关闭数据集 DB.GetColse();//关闭数据库连接 } } public static class DB { public static SqlConnection Getcon() { // 这里需要根据实际情况填写数据库连接字符串 SqlConnection con = new SqlConnection("YourConnectionString"); con.Open(); return con; } public static void GetColse() { // 关闭数据库连接 } } } ``` 在这个示例里,`InsertComShopID` 方法用于从数据库里读取数据并绑定到ComboBox上,`ComboBox1_SelectedIndexChanged` 方法在ComboBox的选择改变被触发,进而调用 `InsertComShopID` 方法更新下拉选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值