代码改变世界

c#,winform,combobox联动

  Virus-BeautyCode  阅读(14712)  评论(2编辑  收藏  举报


C# code
复制代码
private void RegisterForm_Load(object sender, EventArgs e)
{
SqlConnection con 
= new SqlConnection("server=root_db;database=users;uid=sa;password=");
SqlDataAdapter da 
= new SqlDataAdapter("select group_id, group_name from mygroup", con);
DataSet ds 
= new DataSet();
da.Fill(ds, 
"group");
DataTable dtGroup 
= ds.Tables["group"];

comboBox1.DataSource 
= dtGroup;
comboBox1.DisplayMember 
= "group_name";
comboBox1.ValueMember 
= "group_id";
}


private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex > -1)
{
//注意以下两行代码,估计人的错误就在这里
DataRowView drv = (DataRowView)comboBox1.SelectedItem;
string gId = drv.Row["group_id"].ToString();
SqlConnection con 
= new SqlConnection("server=root_db;database=users;uid=sa;password=");
SqlDataAdapter da 
= new SqlDataAdapter("select user_id, user_name from myuser where group_id='" + gId + "'", con);
DataSet ds 
= new DataSet();
da.Fill(ds, 
"user");
DataTable dtUser 
= ds.Tables["user"];

comboBox2.DataSource 
= dtUser;
comboBox2.DisplayMember 
= "user_name";
comboBox2.ValueMember 
= "user_id";
}

}


复制代码




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




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


编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示