在Datagridview中添加datagridviewComboBox列并显示下拉列表
在DataGridView中自动的添加Column。
private void button_autoAddColumn_Click(object sender, EventArgs e)
{
try
{
/*链接数据库并获取数据*/
string connString = "Server=.;Database=testDatabase;Integrated Security=SSPI";
SqlConnection conn = new SqlConnection(connString);
string queryString = "select forename,surname,ISNULL(reportsto,0) as reprotsTo from imployee";
SqlDataAdapter da = new SqlDataAdapter(queryString, conn);
DataSet ds = new DataSet();
da.Fill(ds, "imployee");
queryString = "select forename+' '+surname as name ,reportsto from imployee union select '0','(None)'";
da = new SqlDataAdapter(queryString, conn);
da.Fill(ds, "manager"); /**参照C#高级编程书的Datagridview使用combobox列的代码编写**/ SetupColumn(ds);//调用添加Datagridview列的函数
this.dataGridView2.RowTemplate.Height = ; this.dataGridView2.AutoGenerateColumns = false;//要想动态添加Column,就必须设置为true
this.dataGridView2.DataSource = ds.Tables["imployee"];
}
catch (SqlException exp)
{
MessageBox.Show("数据库链接读取数据过程中出现错误:" + exp.Message);
} } private void SetupColumn(DataSet ds)
{
DataGridViewTextBoxColumn deptcode = new DataGridViewTextBoxColumn();
deptcode.DataPropertyName = "deptcode";
deptcode.HeaderText = "deptcode";
deptcode.ValueType = typeof(string);
deptcode.Frozen = true;
this.dataGridView2.Columns.Add(deptcode); DataGridViewTextBoxColumn deptname = new DataGridViewTextBoxColumn();
deptname.DataPropertyName = "deptname";
deptname.HeaderText = "deptname";
deptname.ValueType = typeof(string);
deptname.Frozen = true;
this.dataGridView2.Columns.Add(deptname); DataGridViewImageColumn dgvimageColumn = new DataGridViewImageColumn();
dgvimageColumn.DataPropertyName = "dgvimageColumn";
dgvimageColumn.HeaderText = "dgvimageColumn";
dgvimageColumn.ValueType = typeof(Image);
dgvimageColumn.Frozen = true;
this.dataGridView2.Columns.Add(dgvimageColumn); DataGridViewComboBoxColumn dgvComboboxColumn = new DataGridViewComboBoxColumn();
dgvComboboxColumn.DataPropertyName = "dgvComboboxColumn";
dgvComboboxColumn.DataSource = this.getTable().DefaultView;
dgvComboboxColumn.DisplayMember = "forename";
dgvComboboxColumn.ValueMember = "forename";
dgvComboboxColumn.HeaderText = "dgvComboboxColumn";
dgvComboboxColumn.ValueType = typeof(Image); dgvComboboxColumn.Frozen = true; this.dataGridView2.Columns.Add(dgvComboboxColumn); DataGridViewLinkColumn dgvLinkColumn = new DataGridViewLinkColumn();
dgvLinkColumn.DataPropertyName = "dgvLinkColumn";
dgvLinkColumn.HeaderText = "dgvLinkColumn";
dgvLinkColumn.ValueType = typeof(Image);
dgvLinkColumn.Frozen = true;
this.dataGridView2.Columns.Add(dgvLinkColumn); DataGridViewCheckBoxColumn dgvCheckBoxColumn = new DataGridViewCheckBoxColumn();
dgvCheckBoxColumn.DataPropertyName = "CheckBox";
dgvCheckBoxColumn.HeaderText = "CheckBox Column";
dgvCheckBoxColumn.ValueType = typeof(bool);
dgvCheckBoxColumn.Frozen = true;
this.dataGridView2.Columns.Add(dgvCheckBoxColumn); }
private DataTable getTable()
{
string connString = "Server=.;Database=testDatabase;Integrated Security=SSPI";
//string connString = "Server=.;Database=hr;Integrated Security=SSPI";
SqlConnection conn = new SqlConnection(connString);
conn.Open();
string queryString = "select distinct forename from imployee";
DataTable dt = new DataTable();
SqlDataAdapter sqlda = new SqlDataAdapter(queryString, conn);
sqlda.Fill(dt);
return dt; }
在Datagridview中添加datagridviewComboBox列并显示下拉列表的更多相关文章
- DataGridView中添加CheckBox列用于选择行
DataGridView中添加CheckBox列用于选择行 1,编辑DataGridView,添加一列 CheckBox ,Name 赋值为 "select",如下图: 2,取消 ...
- Datagridview中数字格式列 不显示小数点前面的0
用代码设置DataGridView中某列为数字格式,但当小数为0.*的时候,前面的0却不显示.只显示.*. 看网上有说: 调整本地设置,控制面板-区域和语言选项,在弹出框的区域选项卡中,选择自定义,在 ...
- Datagridview 添加checkbox列,并判断Datagridview 中的checkbox列是否被选中
Solution1://In Fill DataGridViewEvent : DataGridViewCheckBoxColumn ChCol = new DataGridViewCheckBoxC ...
- DataGridView 中添加CheckBox和常用处理方式 .
DataGridView 中添加CheckBox和常用处理方式 文章1 转载:http://blog.csdn.net/pinkey1987/article/details/5267934 DataG ...
- 在datagridview中添加button按钮
.Net的DataGridView控件中,提供了一种列的类型,叫 DataGridViewButtonColumn ,这种列类型是展示为一个 按钮,可以给button赋予相应的text,并且,此but ...
- 向SQL Server 现有表中添加新列并添加描述.
注: sql server 2005 及以上支持. 版本估计是不支持(工作环境2005,2008). 工作需要, 需要向SQL Server 现有表中添加新列并添加描述. 从而有个如下存储过程. (先 ...
- c# 在datagridview中添加comboboxcolumn 绑定数据库读取显示数据
datagridview中的comboboxcolumn 从绑定的数据库中读取显示时,只需要注意一点,就是sql语句加个 CStr() 字符串转换函数即可,如下: SELECT CStr(XXX) a ...
- oracle数据库查询日期sql语句(范例)、向已经建好的表格中添加一列属性并向该列添加数值、删除某一列的数据(一整列)
先列上我的数据库表格: c_date(Date格式) date_type(String格式) 2011-01-01 0 2012-03-07 ...
- 关于Mybatis将查询结果中添加常量列并返回
引言 在使用mybatis的时候,查询一个集合返回给前台页面,在有的时候,我们会添加一个常量字段到对象或者集合中,来标识这个对象属于的类型等等情况,当前台进行再次请求的时候携带此变量进行请求. 但是: ...
随机推荐
- 洛谷 P2053 [SCOI2007]修车(最小费用最大流)
题解 最小费用最大流 n和m是反着的 首先, \[ ans = \sum{cost[i][j]}*k \] 其中,\(k\)为它在当前技术人员那里,排倒数第\(k\)个修 我们可以对于每个技术人员进行 ...
- windows使用putty向远程服务器传送文件
一.问题产生 对于远程服务器,我习惯把文件写好后直接上传到服务器,也有很多方法可以做到,我现在比较习惯使用putty自带的pscp直接去传. 二.解决办法 1.首先在本地下载的putty文件下看是否有 ...
- 2019 CCPC-Wannafly Winter Camp Day2(Div2, onsite)
solve 4/11 A Erase Numbers II Code:KK Thinking :KK 用ans表示当前最优答案,maxx表示遍历到的最大数字,一开始ans肯定等于a[ 1 ]+a[ 2 ...
- 剑指offer——面试题18:删除链表的节点
#include"List.h" void DeleteNode(ListNode** pHead,ListNode* pToBeDeleted) { if(*pHead==nul ...
- Python的html解析器
转自https://blog.csdn.net/jqh2002_blog/article/details/24842217 其实比较不同的解析器对html的处理能力是有点麻烦的,因为它们处理的步骤并不 ...
- Python 实现flatten功能
from collections import Iterable def flatten(items): for x in items: if isinstance(x, Iterable) and ...
- mysql 02
CREATE TABLE emp(eid INT,ename VARCHAR(20),egender CHAR(2),ebirthday DATE,eemail CHAR(10),eramark VA ...
- VS2010,VS2012,VS2015等的自动提示不能默认选中的功能解决办法
很简单,只需要按 ctrl+alt+space 即可切换. 蛋疼,我到底为什么总会不小心切换过去,而且每次都记不住这个快捷键切换回来...
- (转)mysql帮助命令使用说明
https://www.ilanni.com/?p=8157------- 烂泥:mysql帮助命令使用说明
- JDBC(1)-连接数据库
主要步骤包括: 加载驱动: 连接数据库: 使用语句操作数据库: 关闭数据库连接,释放资源. 1.需要导包: 2.加载数据驱动: mysql驱动名:com.mysql.jdbc.Driver 加载方式: ...