在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的时候,查询一个集合返回给前台页面,在有的时候,我们会添加一个常量字段到对象或者集合中,来标识这个对象属于的类型等等情况,当前台进行再次请求的时候携带此变量进行请求. 但是: ...
随机推荐
- spider_keeper
一 简介 spider_keeper 是一款开源的spider管理工具,可以方便的进行爬虫的启动,暂停,定时,同时可以查看分布式情况下所有爬虫日志,查看爬虫执行情况等功能. 二 安装 部署 安装环境 ...
- sql 简单语法
1.数据库操作 create database student_info -- 创建数据库 drop database student_info -- 删除数据库 2.表操作 -- 创建表 creat ...
- yield return 的使用方法
以下代码,返回List,list内容为大于60的项 public Form1() { InitializeComponent(); } private void Form1_Load(object s ...
- oracle mybatis批量插入,无匹配找默认
批量插入<insert id="insertIndi" parameterType="java.util.HashMap" useGeneratedKey ...
- 解决chrome浏览器对于自动填充的input表单添加的默认的淡黄色背景问题 && 一般的浏览器input和button的高度不一致问题
解决chrome浏览器对于自动填充的input表单添加的默认的淡黄色背景问题 如果我们把一个表单设置位 autofocus ,这时这个表单在获取焦点后就会产生淡黄色的背景,我们就是使用!importa ...
- 如何在cmd窗口里快速且正确打开任意位置路径(各版本windows系统都适合)(图文详解)(博主推荐)
问题的由来 有时候,我们很苦恼,总是先系统键 + R,然后再去手动敲.尤其对win7系统比较麻烦 解决办法 方法一:复制路径(这点对win10系统做得好,直接可以复制) ,win7系统的话可能还需要设 ...
- 026-log4j配置文件模板
模板一: ### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender lo ...
- Ajax(Asychronous JavaScript and XML)笔记
1 Ajax简介 1 ajax概念 2 什么是同步?什么是异步? 3 ajax原理 2 JavaScript原生的ajax 1 ajax.html代码 <!DOCTYPE html> &l ...
- hibernate抓取问题
当使用xml配置类之间的关系时 ,例如 学生 班级,多对一关系 /** * 默认情况会发出2条SQL语句,一条取student,一条取Classroom,其实这只需要一条sql ...
- 带双反斜杠的Json数据至单反斜杠的Json数据处理
假如你光看标题,你只能哦呵呵了!我也看不懂.还是先描述下问题吧.这里是使用微信接口返回了一些数据.因为该串数据包含html标签所以TX是对该串数据进行了编码的.所有的数据是通过Unicode编码的,然 ...