在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列并显示下拉列表的更多相关文章

  1. DataGridView中添加CheckBox列用于选择行

    DataGridView中添加CheckBox列用于选择行 1,编辑DataGridView,添加一列 CheckBox ,Name 赋值为 "select",如下图: 2,取消 ...

  2. Datagridview中数字格式列 不显示小数点前面的0

    用代码设置DataGridView中某列为数字格式,但当小数为0.*的时候,前面的0却不显示.只显示.*. 看网上有说: 调整本地设置,控制面板-区域和语言选项,在弹出框的区域选项卡中,选择自定义,在 ...

  3. Datagridview 添加checkbox列,并判断Datagridview 中的checkbox列是否被选中

    Solution1://In Fill DataGridViewEvent : DataGridViewCheckBoxColumn ChCol = new DataGridViewCheckBoxC ...

  4. DataGridView 中添加CheckBox和常用处理方式 .

    DataGridView 中添加CheckBox和常用处理方式 文章1 转载:http://blog.csdn.net/pinkey1987/article/details/5267934 DataG ...

  5. 在datagridview中添加button按钮

    .Net的DataGridView控件中,提供了一种列的类型,叫 DataGridViewButtonColumn ,这种列类型是展示为一个 按钮,可以给button赋予相应的text,并且,此but ...

  6. 向SQL Server 现有表中添加新列并添加描述.

    注: sql server 2005 及以上支持. 版本估计是不支持(工作环境2005,2008). 工作需要, 需要向SQL Server 现有表中添加新列并添加描述. 从而有个如下存储过程. (先 ...

  7. c# 在datagridview中添加comboboxcolumn 绑定数据库读取显示数据

    datagridview中的comboboxcolumn 从绑定的数据库中读取显示时,只需要注意一点,就是sql语句加个 CStr() 字符串转换函数即可,如下: SELECT CStr(XXX) a ...

  8. oracle数据库查询日期sql语句(范例)、向已经建好的表格中添加一列属性并向该列添加数值、删除某一列的数据(一整列)

    先列上我的数据库表格: c_date(Date格式)     date_type(String格式) 2011-01-01                   0 2012-03-07         ...

  9. 关于Mybatis将查询结果中添加常量列并返回

    引言 在使用mybatis的时候,查询一个集合返回给前台页面,在有的时候,我们会添加一个常量字段到对象或者集合中,来标识这个对象属于的类型等等情况,当前台进行再次请求的时候携带此变量进行请求. 但是: ...

随机推荐

  1. 洛谷 P2053 [SCOI2007]修车(最小费用最大流)

    题解 最小费用最大流 n和m是反着的 首先, \[ ans = \sum{cost[i][j]}*k \] 其中,\(k\)为它在当前技术人员那里,排倒数第\(k\)个修 我们可以对于每个技术人员进行 ...

  2. windows使用putty向远程服务器传送文件

    一.问题产生 对于远程服务器,我习惯把文件写好后直接上传到服务器,也有很多方法可以做到,我现在比较习惯使用putty自带的pscp直接去传. 二.解决办法 1.首先在本地下载的putty文件下看是否有 ...

  3. 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 ...

  4. 剑指offer——面试题18:删除链表的节点

    #include"List.h" void DeleteNode(ListNode** pHead,ListNode* pToBeDeleted) { if(*pHead==nul ...

  5. Python的html解析器

    转自https://blog.csdn.net/jqh2002_blog/article/details/24842217 其实比较不同的解析器对html的处理能力是有点麻烦的,因为它们处理的步骤并不 ...

  6. Python 实现flatten功能

    from collections import Iterable def flatten(items): for x in items: if isinstance(x, Iterable) and ...

  7. mysql 02

    CREATE TABLE emp(eid INT,ename VARCHAR(20),egender CHAR(2),ebirthday DATE,eemail CHAR(10),eramark VA ...

  8. VS2010,VS2012,VS2015等的自动提示不能默认选中的功能解决办法

    很简单,只需要按 ctrl+alt+space 即可切换. 蛋疼,我到底为什么总会不小心切换过去,而且每次都记不住这个快捷键切换回来...

  9. (转)mysql帮助命令使用说明

    https://www.ilanni.com/?p=8157------- 烂泥:mysql帮助命令使用说明

  10. JDBC(1)-连接数据库

    主要步骤包括: 加载驱动: 连接数据库: 使用语句操作数据库: 关闭数据库连接,释放资源. 1.需要导包: 2.加载数据驱动: mysql驱动名:com.mysql.jdbc.Driver 加载方式: ...