为comboBox控件添加数据绑定
winform中的ListBox和ComboBox绑定数据用法实例

本例实现将集合数据绑定到ListBox和ComboBox控件,界面上显示某个属性的内容,代码如下:
复制代码 代码如下:
//... //自定义了Person类(有Name,Age,Heigth等属性)
List<Person> persons=new List<Person>(); persons.Add(new Person("WuMiao",18,175)); persons.Add(new Person("YeXinYv",20,170)); persons.Add(new Person("WuDong",18,175));
arraylist是接口list的实现类所以在使用过程中比较推荐使用list接口来实现arraylist在程序开发过程中应用非常广泛接下来脚本之家的小编给大家总结了arraylist的使用有需要的朋友可以参考下
winform中的 ListBox和 ComboBox绑定数据用法实例
本文实例讲述了winform中的ListBox和ComboBox绑定数据用法。分享给大家供大家参考。具体实现方法如下:
//ListBox控件实现 lb_PersonsList.DataSource=persons; //指定数据源 lb_PersonList.DisplayMember="Name"; //界面显示的是人的名字
//ComboBox控件实现 (与Le=persons; cmb_PersonList.DisplayMember="Name";
cmbbox中方datasource的用法

cmbbox中方datasource的用法在使用C#开发Windows桌面应用程序时,我们经常需要在ComboBox控件中显示数据列表。
ComboBox控件可以通过两种方式来显示数据列表,一种是手动添加,另一种是使用DataSource属性绑定数据源。
在使用DataSource属性绑定数据源时,我们需要先创建一个数据源对象。
数据源可以是数组、集合、DataTable、DataSet等。
以DataTable为例,我们可以使用以下代码创建一个DataTable对象:DataTable dt = new DataTable();dt.Columns.Add('ID', typeof(int));dt.Columns.Add('Name', typeof(string));dt.Rows.Add(1, '张三');dt.Rows.Add(2, '李四');dt.Rows.Add(3, '王五');然后,我们可以将这个DataTable对象设置为ComboBox的DataSource属性:comboBox1.DataSource = dt;接着,我们需要指定ComboBox控件显示哪个字段。
比如,我们可以让ComboBox显示DataTable中的Name字段:comboBox1.DisplayMember = 'Name';最后,我们还需要指定ComboBox控件选中项的值是哪个字段。
比如,我们可以让ComboBox选中项的值为DataTable中的ID字段:comboBox1.ValueMember = 'ID';这样,ComboBox控件就可以显示DataTable中的数据了。
当用户选择某个选项时,ComboBox控件会返回该选项的ID值。
除了DataTable,我们还可以使用其他类型的数据源对象。
超详细MFC_ComboBox_使用方法

2、向控件添加Items1) 在Combo Box控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。
换行用ctrl+回车。
2) 利用函数AddString() 向Combo Box 控件添加Items,如:m_cbExample.AddString(“StringData1”);m_cbExample.AddString(“StringData2”);m_cbExample.AddString(“StringData3”);3) 也可以调用函数InsertString() 将Item 插入指定位置nIndex,如:m_cbExample.InsertString( nIndex, “StringData” );3、从控件得到选定的Item假设在控件列表中已经选定某项,现在要得MFC ComboBox 使用方法Combo Box (组合框)控件很简单,可以节省空间。
从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。
用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。
下面的例子简要说明如何利用MFC CComboBox Class来操作字符串列表。
1、定义控件对应变量假定已经创建了一个Dialog,并且从控件工具箱将Combo Box 控件拖放到上面。
打开Class Wizard,添加控件对应变量,如:CComboBox m_cbExamble;在后面的代码中会不断使用这个变量。
2、向控件添加Items1) 在Combo Box控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。
换行用ctrl+回车。
2) 利用函数AddString() 向Combo Box 控件添加Items,如:m_cbExample.AddString(“StringData1”);m_cbExample.AddString(“StringData2”);m_cbExample.AddString(“StringData3”);3) 也可以调用函数InsertString() 将Item 插入指定位置nIndex,如:m_cbExample.InsertString( nIndex, “StringData” );3、从控件得到选定的Item假设在控件列表中已经选定某项,现在要得到被选定项的内容,首先要得到该项的位置,然后得到对应位置的内容。
DevExpressComboBoxEdit添加值

DevExpressComboBoxEdit添加值今天在使⽤ComboBoxEdit 这个控件的时候,不知道怎么添加值.在官⽹上找到代码。
在这⾥做个记录ComboBoxEdit combo = new ComboBoxEdit();ComboBoxItemCollection coll = combo.Properties.Items;coll.BeginUpdate();try {coll.Add(new PersonInfo("Sven", "Petersen"));coll.Add(new PersonInfo("Cheryl", "Saylor"));coll.Add(new PersonInfo("Dirk", "Luchte"));}finally {coll.EndUpdate();}combo.SelectedIndex = -1;Controls.Add(combo);//...public class PersonInfo {private string _firstName;private string _lastName;public PersonInfo(string firstName, string lastName) {_firstName = firstName;_lastName = lastName;}public override string ToString() {return _firstName + "" + _lastName;}}public class ExComboBox{public int Index { get; set; }public string Key { get; set; }public string Value { get; set; }public string Tag { get; set; }public ExComboBox(int pIndex, string pKey, string pValue){this.Index = pIndex;this.Key = pKey;this.Value = pValue;}public ExComboBox(int pIndex, string pKey, string pValue, string pTag){this.Index = pIndex;this.Key = pKey;this.Value = pValue;this.Tag = pTag;}public override string ToString(){return this.Value;}}comboBox.Properties.Items.Add("全部");for (int i = 0; i < arg.Result.Count; i++){comboBox.Properties.Items.Add(new ExComboBox(i, arg.Result[i].F_RoadwayCode, arg.Result[i].F_StationCode.ToString())); }void comboBoxEditStation_SelectedValueChanged(object sender, System.EventArgs e){var exComboBox1 = boBoxEditRoadWay.SelectedItem as ExComboBox;}。
ComBox数据绑定说明

ComboBox控件数据绑定说明
ComboBox控件是C# Windows Form窗体中的一个常用控件,用于生成下拉列表,传统作法是通过向其Items中添加item数据项进行数据初始化,但这样效率不高,其实可以将DataTable或其它数据源直接附给其DataSource属性值,即与数据源直接绑定。
如以下代码:
public void Init_ComBoxOfXqdm()
{
boBox_xqdm.Items.Clear();
string sqlText = "select * from pxqdm order by xqdm DESC";
boBox_xqdm.DataSource = dbop.GetDataTable(sqlText);
boBox_xqdm.DisplayMember = "xqmc";
boBox_xqdm.ValueMember = "xqdm";
}
DisplayMember为下拉列表中要显示的内容,ValueMember为显示内容对应的值。
需要注意的是绑定后的Items数据类型为DataRowView,其与绑定的数据源一致,而不能简单的对其访问,如:
boBox_xqdm.Items[i].text
boBox_xqdm.Items[i].value
以上两种方法都不可行,正确的访问应该是
((DataRowView)boBox_xqdm.Items[i]).Row["数据源列名称"].ToString();。
WinForm中comboBox控件之数据绑定

WinForm中comboBox控件之数据绑定下⾯介绍三种对comboBox绑定的⽅式,分别是泛型中IList和Dictionary,还有数据集DataTable⼀、IList现在我们直接创建⼀个List集合,然后绑定View CodeIList<string> list = new List<string>();list.Add("111111");list.Add("222222");list.Add("333333");list.Add("444444");comboBox1.DataSource = list;执⾏后,我们会发现绑定成功,但是我们知道⼀般对于下拉框的绑定都会有⼀个值,⼀个显⽰的内容,这个时候我们可以创建⼀个类,把value和text都封装到这个类,作为list的类型public class Info{public string Id { get; set; }public string Name { get; set; }}private void bindCbox(){IList<Info> infoList = new List<Info>();Info info1 = new Info() { Id="1",Name="张三"};Info info2 = new Info() { Id="2",Name="李四"};Info info3 = new Info() { Id = "3",Name = "王五" };infoList.Add(info1);infoList.Add(info2);infoList.Add(info3);comboBox1.DataSource = infoList;comboBox1.ValueMember = "Id";comboBox1.DisplayMember = "Name";}这个时候我们就可以直接获得值和显⽰的内容了⼆、Dictionary这个有点特殊,不能直接绑定,需要借助类BindingSource才可以完成绑定View CodeDictionary<int, string> kvDictonary = new Dictionary<int, string>();kvDictonary.Add(1, "11111");kvDictonary.Add(2, "22222");kvDictonary.Add(3, "333333");BindingSource bs = new BindingSource();bs.DataSource = kvDictonary;comboBox1.DataSource = bs;comboBox1.ValueMember = "Key";comboBox1.DisplayMember = "Value";三、数据集这个⽐较常见,很简单View Code//数据集绑定private void BindCombox(){DataTable dt = new DataTable();DataColumn dc1 = new DataColumn("id");DataColumn dc2 = new DataColumn("name");dt.Columns.Add(dc1);dt.Columns.Add(dc2);DataRow dr1 = dt.NewRow();dr1["id"] = "1";dr1["name"] = "aaaaaa";DataRow dr2 = dt.NewRow();dr2["id"] = "2";dr2["name"] = "bbbbbb";dt.Rows.Add(dr1);dt.Rows.Add(dr2);comboBox1.DataSource = dt;comboBox1.ValueMember = "id";comboBox1.DisplayMember = "name";}注意:当我们触发combox的SelectedIndexChanged的事件后,我们在加载窗体的时候就会执⾏,这点我刚开始也和魅惑,导致容易出错,这点我们可以采取⼀些⽅法避免执⾏,⽐如可以定义⼀个变量fig=falseprivate void comboBox1_SelectedIndexChanged(object sender, EventArgs e){if(this.fig){string selectValue = this.cmbAddMember.SelectedValue.ToString();rtbaddMember.SelectedText = selectValue;}} 那么肯定想在加载窗体后,执⾏了,所以在加载窗体后我们还要把fig的值设为trueprivate void SetAutoMessage_Load(object sender, EventArgs e){loadCombox();loadMessageTemplet();fig= true;}。
C#WinForm_ComboBox数据绑定的问题

Visual Studio C#中的数据绑定五.复杂型组件的数据绑定:在上面的介绍中,了解到对复杂型组件的数据绑定是通过设定组件的某些属性来完成数据绑定的。
首先来介绍一下ComboBox组件的数据绑定.(1).ComboBox组件的数据绑定:在得到数据集后,只有设定好ComboBox组件的的三个属性就可以完成数据绑定了,这三个属性是:、"DisplayMember"、"ValueMember"。
其中"DataSource"是要显示的数据集,"DisplayMember"是ComboBox 组件显示的字段,"ValueMember"是实际使用值。
具体如下:ComboBox1.DataSource = myDataSet ;ComboBox1.DisplayMember = "person.xm" ;ComboBox1.ValueMember = "person.xm" ;注释:此时绑定是Access 2000数据库中"person"表的"xm"字段。
由此可以得到ComboBox组件数据绑定的源程序代码(Combo01.cs),本代码操作数据库是Access 2000:public class Form1 : Form{private ComboBox ComboBox1 ;private Button button1 ;private System.Data.DataSet myDataSet ;private ponentModel.Container components = null ;public Form1 ( ){file://打开数据链接,得到数据集GetConnect ( ) ;InitializeComponent ( ) ;}file://清除程序中使用过的资源protected override void Dispose ( bool disposing ){if ( disposing ){if ( components != null ){components.Dispose ( ) ;}}base.Dispose ( disposing ) ;}private void GetConnect ( ){file://创建一个OleDbConnectionstring strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb" ;OleDbConnection myConn = new OleDbConnection ( strCon ) ;string strCom = " SELECT * FROM person " ;file://创建一个DataSetmyDataSet = new DataSet ( ) ;myConn.Open ( ) ;file://用OleDbDataAdapter 得到一个数据集OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;file://把Dataset绑定person数据表myCommand.Fill ( myDataSet , "person" ) ;file://关闭此OleDbConnectionmyConn.Close ( ) ;}private void button1_Click ( object sender , System.EventArgs e ){ComboBox1.DataSource = myDataSet ;ComboBox1.DisplayMember = "person.xm" ;ComboBox1.ValueMember = "person.xm" ;}static void Main ( ){Application.Run ( new Form1 ( ) ) ;}}图03:对ComboBox组件数据绑定的程序界面得到了ComboBox组件对本地数据库的数据绑定程序,也就十分方便的得到ComboBox组件绑定Sql Server 2000源程序代码(Combox02.cs)具体如下:public class Form1 : Form{private ComboBox ComboBox1 ;private Button button1 ;private System.Data.DataSet myDataSet ;private ponentModel.Container components = null ;public Form1 ( ){file://打开数据链接,得到数据集GetConnect ( ) ;InitializeComponent ( ) ;}file://清除程序中使用过的资源protected override void Dispose ( bool disposing ){if ( disposing ){if ( components != null ){components.Dispose ( ) ;}}base.Dispose ( disposing ) ;}private void GetConnect ( ){// 设定数据连接字符串,此字符串的意思是打开Sql server数据库,服务器名称为server1,数据库为data1 string strCon = "Provider = SQLOLEDB.1 ; Persist Security Info = False ; User ID = sa ; Initial Catalog = data1 ; Data Source = server1 " ;OleDbConnection myConn = new OleDbConnection ( strCon ) ;myConn.Open ( ) ;string strCom = " SELECT * FROM person " ;file://创建一个DataSetmyDataSet = new DataSet ( ) ;file://用OleDbDataAdapter 得到一个数据集OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;file://把Dataset绑定person数据表myCommand.Fill ( myDataSet , " person " ) ;file://关闭此OleDbConnectionmyConn.Close ( ) ;}private void button1_Click ( object sender , System.EventArgs e ){ComboBox1.DataSource = myDataSet ;ComboBox1.DisplayMember = "person.xm" ;ComboBox1.ValueMember = "person.xm" ;}static void Main ( ){Application.Run ( new Form1 ( ) ) ;}}C# WinForm 中ComboBox数据绑定的问题2009-12-29 09:24怎样让WinForm中的ComboBox显示表中的一个字段,同时又绑定另一个字段?在Web中的ComboBox这样写可以绑定两个值:boBox1.DataTextField="B000602";//显示中文,方便用户选择boBox1.DataValueField="B000601";//绑定与选择对应的另一个值boBox1.DataBind();但是在WinForm程序中该怎么写啊?0******************************************************************DataSet ds = new DataSet();//这个DataSet是你从数据库里取出来的值string[] arr = new string[ds.Tables[0].Rows.Count];for (int i = 0; i < arr.Length; i++){arr[i] = ds.Tables[0].Rows[i][2].ToString();}textBox1.AutoCompleteCustomSource.AddRange(arr);textBox1.AutoCompleteSource =AutoCompleteSource.CustomSource;textBox1.AutoCompleteMode =AutoCompleteMode.SuggestAppend;1.******************************************************************* 假设combobox绑定的列表为DataSet2的ListTable表(含有ListID, ListName字段),需要绑定的记录字段为DataSet1的Table1表的ListID字段combobox.DataSource = dataset2.Tables["ListTable"]; combobox.DisplayMember = "ListName";combobox.ValueMember = "ListID";combobox.DataBindings.Add("SelectedValue", dataset1, "Table1.List ID");2.***************************************************************** //dt为数据表,ID,Name为dt的两个字段:comboBox1.DataSource = dt ;comboBox1.ValueMember ="ID";comboBox1.DisplayMember ="Name";3.******************************************************************SqlConnection con = new SqlConnection("server=192.168.2.198;uid=sa;pwd=sa;database=northwind"); SqlCommand cmd = con.CreateCommand();mandText = "Select * from Customers where countr y='USA'";SqlDataAdapter adp = new SqlDataAdapter();adp.SelectCommand = cmd;DataSet ds = new DataSet();adp.Fill(ds, "Customers");comboBox1.DataSource = ds.Tables["Customers"];comboBox1.DisplayMember = "CompanyName";comboBox1.ValueMember = "CompanyName";++++++++++++++++或者++++++++++++++++++++++SqlConnection con = new SqlConnection("server=192.168.2.198;uid=sa;pwd=sa;database=northwind"); SqlCommand cmd = con.CreateCommand();mandText = "Select * from Customers where countr y='USA'";SqlDataAdapter adp = new SqlDataAdapter();adp.SelectCommand = cmd;DataSet ds = new DataSet();adp.Fill(ds, "Customers");comboBox1.DataSource = ds;comboBox1.DisplayMember = "panyName";comboBox1.ValueMember = "panyName";++++++++++++往DataGrid里添加下拉列表++++++++++++ DataGridTableStyle dgt = new DataGridTableStyle();dgt.MappingName = "test";DataGridTextBoxColumn dgtbc = new DataGridTextBoxColumn(); dgtbc.MappingName = "name";dgtbc.HeaderText= "name";ComboBox cmbFunctionArea = new ComboBox(); cmbFunctionArea.DataSource = DtGeneral;cmbFunctionArea.DisplayMember = "name"; cmbFunctionArea.ValueMember = "value";cmbFunctionArea.Cursor = Cursors.Arrow;cmbFunctionArea.DropDownStyle= ComboBoxStyle.DropDownList;cmbFunctionArea.Dock = DockStyle.Fill;dgtbc.TextBox.Controls.Add(cmbFunctionArea);dgt.GridColumnStyles.Add(dgtbc);cmbFunctionArea.SelectionChangeCommitted +=new EventHandler(cmbFunctionArea_SelectionChangeCommitted);+++++++++++++修改++++++++++++++++private void cmbFunctionArea_SelectionChangeCommitted(object se nder, EventArgs e){((DataTable)dataGrid1.DataSource).Rows[dataGrid1.CurrentRowIndex][0] = ((ComboBox)sender).Text.ToString();dataGrid1.SetDataBinding(DtGeneral,null);}4.******************************************************************* *****DataBindings是一般控件所具有的,是绑定数据源的某一个字段combobox.DataBindings.Add("要绑定控件的属性如下拉框的SelectedValue\Text", 数据源如dataset1, "导航路径如Table1.ListID");但是,DataBindings只能绑定一个字段,而绑定多个字段时典型的如列表控件Combobox、ListBox控件,需要键值对,这时就需要指定DataSource(实现IList接口就行),然后指定ValueMember、DisplayMember 。
WPF的MVVM模式给ComboBox绑定数据和读取

WPF的MVVM模式给ComboBox绑定数据和读取在⽹上找到类似的代码:XAML⽂件<ComboBox Margin="-16,3,0,5" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" Name="cboxLocationKeyword"ItemsSource="{Binding LocationSource,Mode=OneWay}"SelectedValuePath="ID"DisplayMemberPath="Info"SelectedItem="{Binding SelectLocation}" />对应的ViewModel⽂件public class LocationRoad{public int ID { set; get; }public string Code { set; get; }public string Info { set; get; }}/////当ComboBox选中项更改时发⽣///private LocationRoad _selectLocation;public LocationRoad SelectLocation{get{return this._selectLocation;}set{this._selectLocation = value;if (this.PropertyChanged != null)PropertyChanged(this, new PropertyChangedEventArgs("SelectLocation"));}}private ObservableCollection _locationRoad = null;public ObservableCollection LocationSource{get{if (this._locationRoad == null){this._locationRoad = new ObservableCollection() {new LocationRoad() { ID = 1, Code = "NGQ", Info = "南岗区" },new LocationRoad() { ID = 2, Code = "DLQ", Info = "道⾥区" },new LocationRoad() { ID = 3, Code = "DWQ", Info = "道外区" },new LocationRoad() { ID = 4, Code = "PFQ", Info = "平房区" },new LocationRoad() { ID = 5, Code = "XFQ", Info = "⾹坊区" },};}return this._locationRoad;}set{this._locationRoad = value;if (this.PropertyChanged != null)PropertyChanged(this, new PropertyChangedEventArgs("LocationSource"));}}如果要进⾏双向绑定或其他的绑定⽅式,只要更改上⾯binging块中的Mode⽅式就可以了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为comboBox控件添加数据绑定(C#、sql server2008)
1.添加comboBox控件(列表框)
创建Form1窗口,点击工具箱中的ComboBox控件,直接拉到窗口中
2.点击ComboBox控件,出现三角号,点击三角号,勾上使用数据绑定项,点
击数据源右边的下拉按纽,在弹出的窗口中点击“添加项目数据源”,弹出新窗口(数据源配置向导)
3.选择数据库,点击下一步
4.选择数据集,点击下一步
5.点击‘新建连接’按纽
Server),点击继续
7.在服务器名中输入数据库的服务器名,选择数据库,点击确定
8.回到选择数据连接窗口,点击下一步
9.选择要导入的表或视图中上列(只能选择一列),点击完成。
10.选择显示成员,值成员和选定值,完成。