Visual C#中的(ListBox)数据绑定

(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://创建一个 OleDbConnection
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb" ;
OleDbConnection myConn = new OleDbConnection ( strCon ) ;
string strCom = " SELECT * FROM person " ;
file://创建一个 DataSet
myDataSet = new DataSet ( ) ;

myConn.Open ( ) ;
file://用 OleDbDataAdapter 得到一个数据集
OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
file://把Dataset绑定person数据表
myCommand.Fill ( myDataSet , "person" ) ;
file://关闭此OleDbConnection
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 ( ) ) ;
}
}

以下代码是ListBox组件对Sql Server 2000数据库进行数据绑定的源程序节选(ListBox02.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 ( )
{
// 设定数据连接字符串,此字符串的意思是打开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://创建一个 DataSet
myDataSet = new DataSet ( ) ;
file://用 OleDbDataAdapter 得到一个数据集
OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
file://把Dataset绑定person数据表
myCommand.Fill ( myDataSet , " person " ) ;
file://关闭此OleDbConnection
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 ( ) ) ;
}}

六、总结

本文介绍的实现数据绑定组件的都是在程序设计中经常用到的WinForm组件。当然在.Net FrameWork SDK中提供的WinForm组件是很多的,由于本文的限制,不可能一一介绍,一般来说,WinForm组件都可以实现数据绑定,虽然在某些具体的方法上 有所差异,但也总是大同小异。在以下的文章中,将以此为基础探讨Visual C#中数据库编程。

你可能感兴趣的:(listbox)