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

 我来答
huanglenzhi
2016-12-18 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517183
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  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";
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式