




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Visual C中的数据绑定 2002-02-26 15:49作者:阿虎出处:yesky责任编辑:方舟五 复杂型组件的数据绑定:在上面的介绍中,了解到对复杂型组件的数据绑定是通过设定组件的某些属性来完成数据绑定的。首先来介绍一下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 : Formprivate ComboBox ComboBox1 ;private Button button1 ;private System.Data.DataSet myDataSet ;private System.ComponentModel.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 : Formprivate ComboBox ComboBox1 ;private Button button1 ;private System.Data.DataSet myDataSet ;private System.ComponentModel.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,数据库为data1string 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这样写可以绑定两个值: this.ComboBox1.DataTextField=B000602;/显示中文,方便用户选择 this.ComboBox1.DataValueField=B000601;/绑定与选择对应的另一个值 this.ComboBox1.DataBind(); 但是在WinForm程序中该怎么写啊?0*DataSet ds = new DataSet();/这个DataSet是你从数据库里取出来的值 string arr = new stringds.Tables0.Rows.Count; for (int i = 0; i arr.Length; i+) arri = ds.Tables0.Rowsi2.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.TablesListTable; combobox.DisplayMember = ListName; combobox.ValueMember = ListID; combobox.DataBindings.Add(SelectedValue, dataset1, Table1.ListID);2.*/dt为数据表,ID,Name为dt的两个字段: comboBox1.DataSource = dt ; comboBox1.ValueMember =ID; comboBox1.DisplayMember =Name;3.*SqlConnection con = new SqlConnection(server=98;uid=sa;pwd=sa;database=northwind); SqlCommand cmd = con.CreateCommand(); cmd.CommandText = Select * from Customers where country=USA; SqlDataAdapter adp = new SqlDataAdapter(); adp.SelectCommand = cmd; DataSet ds = new DataSet(); adp.Fill(ds, Customers); comboBox1.DataSource = ds.TablesCustomers; comboBox1.DisplayMember = CompanyName; comboBox1.ValueMember = CompanyName; +或者+ SqlConnection con = new SqlConnection(server=98;uid=sa;pwd=sa;database=northwind); SqlCommand cmd = con.CreateCommand(); cmd.CommandText = Select * from Customers where country=USA; SqlDataAdapter adp = new SqlDataAdapter(); adp.SelectCommand = cmd; DataSet ds = new DataSet(); adp.Fill(ds, Customers); comboBox1.DataSource = ds; comboBox1.DisplayMember = Customers.CompanyName; comboBox1.ValueMember = Customers.CompanyName; +往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 sender, EventArgs e) (DataTable)dataGrid1.DataSource).RowsdataGrid1.CurrentRowIndex0 = (ComboBox)sender).Text.ToString(); dataGrid1.SetDataBinding(DtGeneral,null); 4.*DataBindings是一般控件所具有的,是绑定数据源的某一个字段 combobox.DataBindings.Add(要绑定控件的属性如下拉框的SelectedValueText, 数据源如dataset1, 导航路径如Table1.ListID); 但是,DataBindings只能绑定一个字段,而绑定多个字段时典型的如列表控件Combobox、ListBox控件,需要键值对,这时就需要指定DataSource(实现IList接口就行),然后指定ValueMember、DisplayMember 。 所以,如果是下拉列表,你只想绑定一个字段,用DataBindings可以,想绑定两个字段 用combobox.DataSource = 数据源; combobox.DisplayMember = 对应显示字段名; combobox.ValueMember = 对应存储字段名; 不要同时用5.* 绑定以后就可以了,读取选中信息 : object val = combobox.SelectedValue; string txt = combob
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- C形臂X线机林瑞鹏65课件
- 考研复习-风景园林基础考研试题【典型题】附答案详解
- 风景园林基础考研资料试题及参考答案详解【研优卷】
- 《风景园林招投标与概预算》试题A附参考答案详解(巩固)
- 2025福建省泉州凤栖实业有限责任公司社会招聘17人笔试备考试题附答案详解(典型题)
- 2025年黑龙江省五常市辅警招聘考试试题题库含答案详解(考试直接用)
- 2025年河北省定州市辅警招聘考试试题题库及1套完整答案详解
- 2025年STEAM教育在中小学跨学科教学中的实施效果评估报告
- 新解读《DA-T 1-2000档案工作基本术语》新解读
- deepseek高校智能化部署及应用场景规划方案
- 户外双语课程设计
- 2024渗透检测工艺规程
- 重庆市2024年中考生物试卷
- 2024年河南省机关单位工勤技能人员培训考核高级工技师《职业道德》题库
- 初中生物教学课例2.3.1《植物细胞的结构和功能》课程思政核心素养教学设计及总结反思
- 2024年广州市中考语文试卷真题(含官方答案及解析)
- 钳工实训活页式教材(非机类)中职全套教学课件
- 新教育生命叙事范文3000字
- 2024年湖南省高考政治试卷真题(含答案)
- 2023年《畜牧兽医综合知识复习题及答案》
- 村干部薪酬管理制度
评论
0/150
提交评论