using MySql.Data.MySqlClient ;
private void Form1_Load ( object sender , EventArgs e )
{
//循环绑定
SetCmbWithCycle ();
//绑定数据库
SetCmbWithBindingDB ();
//绑定dictionary
SetCmbWithDT ();
}
///
/// 动态获取值
///
private void timer1_Tick ( object sender , EventArgs e )
{
if ( cmbDT . SelectedIndex < 0 )
{
lblError . Text = "combox没有选择值!" ;
return ;
}
//获取combox值
GetComboxData ();
}
///
/// 通过循环来赋值
///
private void SetCmbWithCycle ()
{
DataTable dt = GetDbData ();
for ( int i = 0 ; i < dt . Rows . Count ; i ++)
{
cmbItem . Items . Add ( dt . Rows [ i ][ "Name" ]);
}
}
///
/// 通过绑定方式来赋值
///
private void SetCmbWithBindingDB ()
{
DataTable dt = GetDbData ();
cmbBind . DataSource = dt ;
cmbBind . DisplayMember = "Name" ;
}
///
/// 通过dictiona绑定
///
private void SetCmbWithDT ()
{
Dictionary < int , string > dt = new Dictionary < int , string >();
dt . Add ( 1 , "A" );
dt . Add ( 2 , "B" );
BindingSource bs = new BindingSource ();
bs . DataSource = dt ;
//Dictionary类型数据不可直接绑定到控件上
cmbDT . DataSource = bs ;
cmbDT . ValueMember = "Key" ;
cmbDT . DisplayMember = "Value" ;
}
///
/// 获取combox的属性值
///
private void GetComboxData ()
{
lblSelVal . Text = cmbDT . SelectedValue . ToString ();
lblSelItem . Text = cmbDT . SelectedItem . ToString ();
lblSelTxt . Text = cmbDT . SelectedText ;
lblTxt . Text = cmbDT . Text ;
}
///
/// 数据库中获取数据
///
///
private DataTable GetDbData ()
{
string connStr = @"Server=localhost;Database=stu;Uid=root;Pwd=" ;
MySqlConnection conn = new MySqlConnection ( connStr );
string sql = @"Select *from user" ;
if ( conn . State == ConnectionState . Open )
{
conn . Close ();
}
conn . Open ();
MySqlCommand cmb = new MySqlCommand ( sql , conn );
MySqlDataAdapter da = new MySqlDataAdapter ( cmb );
DataTable dt = new DataTable ();
da . Fill ( dt );
conn . Close ();
return dt ;
}