问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何为winform中的列表控件Combobox,ListBox控件绑定数据

发布网友 发布时间:2022-04-26 19:57

我来回答

2个回答

懂视网 时间:2022-05-02 15:15

public static SqlDataReader GetReader(string sql) 2 { 3 SqlConnection conn = new SqlConnection(connString); 4 SqlCommand cmd = new SqlCommand(sql, conn); 5 try 6 { 7 conn.Open(); 8 return cmd.ExecuteReader(CommandBehavior.CloseConnection); 9 } 10 catch (Exception ex) 11 { 12 conn.Close(); 13 //将错误信息写入日志... 14 15 throw ex; 16 } 17 }

 

封装到集合中:

 1 public List<StudentClass> GetAllClasses()
 2  {
 3  string sql = "select ClassName,ClassId from StudentClass";
 4  SqlDataReader objReader = SQLHelper.GetReader(sql);
 5  List<StudentClass> list = new List<StudentClass>();
 6  while (objReader.Read())
 7  {
 8  list.Add(new StudentClass()
 9   {
10   ClassId = Convert.ToInt32(objReader["ClassId"]),
11   ClassName = objReader["ClassName"].ToString()
12   });
13  }
14  objReader.Close();
15  return list;
16 }

 

然后在窗体初始化方法里面调用并绑定数据:

 1 private StudentClassService objClassService = new StudentClassService();
 2 
 3 public FrmAddStudent()
 4  {
 5  InitializeComponent();
 6  //初始化班级下拉框
 7  this.cboClassName.DataSource = objClassService.GetAllClasses();
 8  this.cboClassName.DisplayMember = "ClassName";
 9  this.cboClassName.ValueMember = "ClassId";
10 
11 }

 

第二种情况:

SQLHelper类中的代码:

1 public static DataSet GetDataSet(string sql)
2  {
3  SqlConnection conn = new SqlConnection(connString);
4  //SqlCommand cmd = new SqlCommand(sql, conn);
5  SqlDataAdapter da = new SqlDataAdapter(sql, conn);
6  DataSet ds = new DataSet();
7  da.Fill(ds);
8  return ds;
9 }

 

然后在窗体初始化方法里面调用并绑定数据:

 1 public partial class FrmVoucherQuery : Form
 2 {
 3 public FrmVoucherQuery()
 4  {
 5  InitializeComponent();
 6  string sql = string.Format("Select FName From t_VoucherGroup Order by FGroupID");
 7  //控件名.DataSource=数据集.数据表
 8  cbVoucherName.DataSource = SQLHelper.GetDataSet(sql).Tables[0];
 9  cbVoucherName.DisplayMember = "FName";
10  cbVoucherName.ValueMember = "FName";
11  }
12 }

 

Winform开发中如何将数据库字段绑定到ComboBox控件

标签:对象   cep   ...   stat   inf   form   方法   splay   rom   

热心网友 时间:2022-05-02 12:23

  combobox.DataBindings.Add("要绑定控件的属性如下拉框的SelectedValue\Text", 数据源如dataset1, "导航路径如Table1.ListID");
  
  但是,DataBindings只能绑定一个字段,而绑定多个字段时典型的如列表控件Combobox、ListBox控件,需要键值对,这时就需要指定DataSource(实现IList接口就行),然后指定ValueMember、DisplayMember 。
  
  所以,如果是下拉列表,你只想绑定一个字段,用DataBindings可以,想绑定两个字段
  
  用combobox.DataSource = 数据源;
  combobox.DisplayMember = 对应显示字段名;
  combobox.ValueMember = 对应存储字段名;
  
  
  object val = combobox.SelectedValue;
  string txt = combobox.Text;
  
  
  SelectedIndex、SelectedItem表示选中了哪项目,也可以设置combobox.SelectedIndex = 0 或
  
  直接设置 combobox.SelectedValue = "一个已存在的值";或 combobox.Text = "一个已存在的文本";
  
  如果是绑定的,一定要设置的是一个在绑定在已存在的项。
  
  例如有一个部门表的DataTable,部门ID是一个字段,用于唯一标识一个部门ID,部门名称是另一个字段,用于唯一标识ID对应的部门名称
  
  绑定如下:
  
  this.ComboBox1.DataSource = 部门表; //只要实现了IList接口就可以
  this.ComboBox1.DisplayMember="部门名称";//显示中文,方便用户选择 对应WebForm的DataTextField
  this.ComboBox1.ValueMember="部门ID"; //绑定与选择对应的另一个值
  
  
  需要着重说明的时,如果你有一个类Item如有两个属性:A、B,同时你做了ItemCollection类用来表示多个Item,绑定时:
  
  this.ComboBox1.DataSource = myItemCollection;
  this.ComboBox1.DisplayMember="A";
  this.ComboBox1.ValueMember="B";

  如果数据不是从数据库中读取出来,而是从集合中绑定。 本例中仅列出Dictionary这个类。

  代码:

  Dictionary<int, string> mydiction = new Dictionary<int, string>();

  mydiction.Add(2, "张三");

  this.listBox1.DataSource = new BindingSource(mydiction, null);
  this.listBox1.DisplayMember = "Value";
  this.listBox1.ValueMember = "Key";
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2198香辣虾是什么意思 虾什么梗 肖战 刻纸制作需要哪些步骤 好玩的生存游戏手游(好玩的生存游戏手游推荐) 北京电脑职业培训学校都有哪些北京电脑培训班都有哪些 欧盟商标注册需要提供什么资料? 怎么注册欧盟商标?需要准备哪些材料? 5g手机有什么好处 5g手机大概多少钱 口水臭是什么原因呢? 口水臭是什么原因 口水臭怎么改善 求C# WinForm DataGridViewRow 控件的用法 要常用的 详细点 谢谢_百度... c#winform程序。大家看看为什么我的程序运行开始,这些button控件位置就变了呢? 关于C#(Winform)利用Label控件显示数据表数据的问题. winform 中对DataGrid 简单操作 c#怎么在table控件里让两张图片横排 C#编写的winform中使用了 DataGridView ,如何在DataGridView内添加... c#中怎样在Table表格中添加相关的服务器控件? 数据纵向显示:在winform中用什么控件可以把SQL数据库中的数据由一行一行的变成一列一列的显示! c#winform tabControl控件问题 哪位大神知道winform有没有可以支持合并单元格的表格控件?C#的 Winform的控件执行顺序 如何设置TabIndex c# winfrom 有没有像页面TABLE一样的控件 C# winform table 菜鸟问题 你见过最搞笑的游戏名字和头像是什么? 广东话超拽的游戏名字 请问阿里巴巴刷销量是怎么刷的? 阿里巴巴知道房间号怎么进直播 阿里巴巴直播怎么自动播 阿里巴巴直播后台可以看实时在线人数吗 阿里巴巴互刷是怎样的流程 winform中各控件的简称 C# 的WinForm中TreeView 控件显示数据库MyTable表里数据 c# winform 怎么查询datatable里面的数据 在C#中怎样设置table的行和列 WINFROM ReportViewer控件绑定DATATABLE数据后,不能够显示出来 c#winform 的所有控件缩写是什么 用极速版快手录唱歌视频怎么老是显示系统配的音乐 求一个p大的烈火浇愁txt百度云全文,现在到番外六了,谢谢 烈火浇愁_bypriest_txt全文阅读,百度网盘免费下载 烈火浇愁百度云 20个博客seo优化技巧,怎么优化博客 求《烈火浇愁》Txt. 求priest烈火浇愁百度云谢谢 烈火浇愁语录有哪些? 如何利用新浪博客做seo排名? 求priest的烈火浇愁txt百度云,谢谢? 烈火浇愁结局什么意思 SEO优化:浅析独立博客网站该如何做站内SEO优化 烈火浇愁有几本实体书 刚接触SEO的菜鸟如何优化博客类网站?