ComBoboxDataGridView非常实用的一个组件,由Combobox+DataGridView组成,一般情况下点击Combobox下拉箭头你会看到一列值,往往一列值表现出来的结果不是很直观,数据多的情况下,而且相识度大的情况下,就很难辨识出自己想要的数据,出于这个目的在网上搜索了一些类似的代码,先看到的是
地址为http://www.cnblogs.com/CodeAnyWhere/archive/2005/12/13/296461.html,博主给出了例子,下载例子运行不错效果跟我想要的非常类似那就是它了,不过有个问题出来了,博主的数据源是手动添加的代码如下
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
手动的添加数据源
private
DataTable GetDataTable()
{
DataTable dt
=
new
DataTable();
dt.Columns.Add(
"
编号
"
);
dt.Columns.Add(
"
姓名
"
);
dt.Columns.Add(
"
部门
"
);
dt.LoadDataRow(
new
string
[] {
"
1003
"
,
"
小张
"
,
"
a
"
},
true
);
dt.LoadDataRow(
new
string
[] {
"
1004
"
,
"
小王
"
,
"
a
"
},
true
);
dt.LoadDataRow(
new
string
[] {
"
1005
"
,
"
小丽
"
,
"
a
"
},
true
);
return
dt;
}
this
.编号.DataSource
=
GetDataTable();
问题出来了,日常的使用过程中数据源都是从数据库获得的,修改成数据源为数据库的
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
public
DataTable ExcuteSQL(
string
strSql)
{
string strServer = " server=.;database=123;uid=sa;pwd=123; " ;
SqlConnection con = new SqlConnection(strServer);
con.Open();
SqlDataAdapter dataAdapter = new SqlDataAdapter(strSql, con);
// DataSet ds = new DataSet();
DataTable dt = new DataTable();
dataAdapter.Fill(dt);
con.Close();
return dt;
}
{
string strServer = " server=.;database=123;uid=sa;pwd=123; " ;
SqlConnection con = new SqlConnection(strServer);
con.Open();
SqlDataAdapter dataAdapter = new SqlDataAdapter(strSql, con);
// DataSet ds = new DataSet();
DataTable dt = new DataTable();
dataAdapter.Fill(dt);
con.Close();
return dt;
}
this
.编号.DataSource
=
ExcuteSQL(
"
select 卡号,描述,姓名 from newtable
"
);
改造工作完成了,运行后点击combobox下拉按钮看到的数据就是从数据库读取的了。