|
|
 |
|
 |
本文由中国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 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: string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb" ; OleDbConnection myConn = new OleDbConnection (strCon) ; string strCom = " SELECT * FROM person " ; file: myDataSet = new DataSet ( ) ; myConn.Open ( ) ; file: OleDbDataAdapter myCommand = new OleDbDataAdapter (strCom , myConn) ; file: myCommand.Fill (myDataSet , "person") ; file: myConn.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 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 ( ) { 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: myDataSet = new DataSet ( ) ; file: OleDbDataAdapter myCommand = new OleDbDataAdapter (strCom , myConn) ; file: myCommand.Fill (myDataSet , " person ") ; file: myConn.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 ( )) ; } }
(2).ListBox组件的数据绑定:
ListBox组件的数据绑定和ComboBox组件的数据绑定的方法大致相同,也是通过设定"DisplayMember"、"ValueMember".其中"DataSource"这三个属性来完成的.并且这三个属性在ListBox组件中代表的意思和ComboBox组件的意思基本一样.由此可以得到ListBox组件对本地数据库和远程数据库进行数据绑定的源程序.其中ListBox01.cs是对本地数据库进行数据绑定,ListBox02.cs是对远程数据库进行数据绑定,具体如下:
ListBox01.cs源程序代码节??
public class Form1 : Form { private ListBox ListBox1 ; 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: string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb" ; OleDbConnection myConn = new OleDbConnection (strCon) ; string strCom = " SELECT * FROM person " ; file: myDataSet = new DataSet ( ) ; myConn.Open ( ) ; file: OleDbDataAdapter myCommand = new OleDbDataAdapter (strCom , myConn) ; file: myCommand.Fill (myDataSet , "person") ; file: myConn.Close ( ) ; } private void button1_Click (object sender , System.EventArgs e) { ListBox1.DataSource = myDataSet ; ListBox1.DisplayMember = "person.xm" ; ListBox1.ValueMember = "person.xm" ; } static void Main ( ) { Application.Run (new Form1 ( )) ; } }
图04:对ListBox组件数据绑定的程序界面
以下代码是ListBox组件对Sql Server 2000数据库进行数据绑定的源程序节?↙istBox02.cs):
{ private ListBox ListBox1 ; 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 ( ) { 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: myDataSet = new DataSet ( ) ; file: OleDbDataAdapter myCommand = new OleDbDataAdapter (strCom , myConn) ; file: myCommand.Fill (myDataSet , " person ") ; file: myConn.Close ( ) ; } private void button1_Click (object sender , System.EventArgs e) { ListBox1.DataSource = myDataSet ; ListBox1.DisplayMember = "person.xm" ; ListBox1.ValueMember = "person.xm" ; } static void Main ( ) { Application.Run (new Form1 ( )) ; } }
本文由中国C#技术学习中心整理 如果你对本文有不明之处请到技术论坛讨论!
|
|