- 浏览: 794713 次
- 性别:
- 来自: 沈阳
文章分类
最新评论
-
masuweng:
多谢了,很好用
Oracle第三方工具PLSQL Developer 11注册码 -
q77102902:
4楼 精辟!
Java时间判断:判断一个时间是否在一个时间段内 -
panghaoyu:
实现一个智能提示功能需要ajax、数据库、jsp/php、算法 ...
Eclipse/MyEclipse Js代码自动提示插件 -
liuwencaia:
// 当前时间小时数在开始时间和结束时间小时数之间 ...
Java时间判断:判断一个时间是否在一个时间段内 -
zjf1994:
...
信息系统项目管理师知识记忆口诀
C# DataGridView控件的常用操作
- 博客分类:
- C#
1.设置DataGridView中的列是否为自动调整
dataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
2.设置某列是否冻结(水平滚动DataGridView控件时,列是否移动)
dataGridView1.Columns[0].Frozen = true;
3.动态向DataGridView中插入数据
(1)从数据库中查询出数据
(2)循环遍历数据
(3)动态插入DataGridView中
OracleClass.Open(); OracleDataReader dtr = OracleClass.QueryForReader(sql_select); if (dtr != null) { while (dtr.Read()) { int CA_ID = int.Parse(dtr.GetOracleNumber(0).ToString()); int BASEID = int.Parse(dtr.GetOracleNumber(1).ToString()); String BASENAME = dtr.GetOracleString(2).ToString().Substring(0, dtr.GetOracleString(2).ToString().Length - 1); String CA_NAME = dtr.GetOracleString(3).ToString(); String CA_RULETYPE = dtr.GetOracleNumber(4).ToString(); if (CA_RULETYPE.Equals("1")) { CA_RULETYPE = "范围匹配类型"; } else if (CA_RULETYPE.Equals("2")) { CA_RULETYPE = "标准格式类型"; } else if (CA_RULETYPE.Equals("3")) { CA_RULETYPE = "固定格式类型"; } else if (CA_RULETYPE.Equals("4")) { CA_RULETYPE = "逻辑关联类型"; } else { CA_RULETYPE = "无"; } String CA_RULETEXT = dtr.GetOracleString(5).ToString(); if (CA_RULETEXT.Equals("Null") || (CA_RULETEXT.Equals("NULL"))) { CA_RULETEXT = ""; } String CA_RULETEXT2 = dtr.GetOracleString(6).ToString(); if (CA_RULETEXT2.Equals("Null") || (CA_RULETEXT2.Equals("NULL"))) { CA_RULETEXT2 = ""; } String CONTENT = dtr.GetOracleString(7).ToString(); if (CONTENT.Equals("Null") || CONTENT.Equals("NULL")) { CONTENT = ""; } object[] data = new object[] { CA_ID, BASEID, BASENAME, CA_NAME, CA_RULETYPE, CA_RULETEXT, CA_RULETEXT2, CONTENT }; this.dataGridView1.Rows.Add(false, CA_ID, BASEID, BASENAME, CA_NAME, CA_RULETYPE, CA_RULETEXT, CA_RULETEXT2, CONTENT); } OracleClass.Close();
4.在DataGridView的第一列加入checkbox并实现全选功能
(1)设置第一列为checkboxcolumn
(2)在列头加入checkbox
(3)实现全选/全不选功能
private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked) { for (int i = 0; i < dataGridView1.Rows.Count; i++) { this.dataGridView1.Rows[i].Cells[0].Value = true; } } else { for (int i = 0; i<dataGridView1.Rows.Count;i++ ) { this.dataGridView1.Rows[i].Cells[0].Value = false; } } }
5.清空DataGridView
dataGridView1.Rows.Clear();
6.点击左侧树节点,实现对DataGridView的动态查询
//树节点点击事件 private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { if (e.Node.Text == "应用规则类型" || e.Node.Text == "设备类型名称") { dataGridView1.Rows.Clear(); Load2(); } else { //点击类型节点 if (e.Node.Text == "范围匹配类型" || e.Node.Text == "标准格式类型" || e.Node.Text == "固定格式类型" || e.Node.Text == "逻辑关联类型") { dataGridView1.Rows.Clear(); OracleClass.Open(); int type = 0; if (e.Node.Text == "范围匹配类型") { type = 1; } else if (e.Node.Text == "标准格式类型") { type = 2; } else if (e.Node.Text == "固定格式类型") { type = 3; } else if (e.Node.Text == "逻辑关联类型") { type = 4; } String baseName = e.Node.Text; String sql_selectByTreeNode = "select * from DEVICE_ATTR t where t.CA_RULETYPE = " + type + " "; OracleDataReader dtr = OracleClass.QueryForReader(sql_selectByTreeNode); if (dtr != null) { while (dtr.Read()) { int CA_ID = int.Parse(dtr.GetOracleNumber(0).ToString()); int BASEID = int.Parse(dtr.GetOracleNumber(1).ToString()); String BASENAME = dtr.GetOracleString(2).ToString().Substring(0, dtr.GetOracleString(2).ToString().Length - 1); String CA_NAME = dtr.GetOracleString(3).ToString(); String CA_RULETYPE = dtr.GetOracleNumber(4).ToString(); if (CA_RULETYPE.Equals("1")) { CA_RULETYPE = "范围匹配类型"; } else if (CA_RULETYPE.Equals("2")) { CA_RULETYPE = "标准格式类型"; } else if (CA_RULETYPE.Equals("3")) { CA_RULETYPE = "固定格式类型"; } else if (CA_RULETYPE.Equals("4")) { CA_RULETYPE = "逻辑关联类型"; } else { CA_RULETYPE = "无"; } String CA_RULETEXT = dtr.GetOracleString(5).ToString(); if (CA_RULETEXT.Equals("Null") || CA_RULETEXT.Equals("NULL")) { CA_RULETEXT = ""; } String CA_RULETEXT2 = dtr.GetOracleString(6).ToString(); if (CA_RULETEXT2.Equals("Null") || CA_RULETEXT2.Equals("NULL")) { CA_RULETEXT2 = ""; } String CONTENT = dtr.GetOracleString(7).ToString(); if (CONTENT.Equals("Null") || CONTENT.Equals("NULL")) { CONTENT = ""; } object[] data = new object[] { CA_ID, BASEID, BASENAME, CA_NAME, CA_RULETYPE, CA_RULETEXT, CA_RULETEXT2, CONTENT }; this.dataGridView1.Rows.Add(false, CA_ID, BASEID, BASENAME, CA_NAME, CA_RULETYPE, CA_RULETEXT, CA_RULETEXT2, CONTENT); } OracleClass.Close(); } } //点击设备名称 else { dataGridView1.Rows.Clear(); OracleClass.Open(); String baseName = e.Node.Text; String sql_selectByTreeNode = "select * from DEVICE_ATTR t where t.BASENAME = " + " '" + baseName + "$' "; OracleDataReader dtr = OracleClass.QueryForReader(sql_selectByTreeNode); if (dtr != null) { while (dtr.Read()) { int CA_ID = int.Parse(dtr.GetOracleNumber(0).ToString()); int BASEID = int.Parse(dtr.GetOracleNumber(1).ToString()); String BASENAME = dtr.GetOracleString(2).ToString().Substring(0, dtr.GetOracleString(2).ToString().Length - 1); String CA_NAME = dtr.GetOracleString(3).ToString(); String CA_RULETYPE = dtr.GetOracleNumber(4).ToString(); if (CA_RULETYPE.Equals("1")) { CA_RULETYPE = "范围匹配类型"; } else if (CA_RULETYPE.Equals("2")) { CA_RULETYPE = "标准格式类型"; } else if (CA_RULETYPE.Equals("3")) { CA_RULETYPE = "固定格式类型"; } else if (CA_RULETYPE.Equals("4")) { CA_RULETYPE = "逻辑关联类型"; } else { CA_RULETYPE = "无"; } String CA_RULETEXT = dtr.GetOracleString(5).ToString(); if (CA_RULETEXT.Equals("Null") || CA_RULETEXT.Equals("NULL")) { CA_RULETEXT = ""; } String CA_RULETEXT2 = dtr.GetOracleString(6).ToString(); if (CA_RULETEXT2.Equals("Null") || CA_RULETEXT2.Equals("NULL")) { CA_RULETEXT2 = ""; } String CONTENT = dtr.GetOracleString(7).ToString(); if (CONTENT.Equals("Null") || CONTENT.Equals("NULL")) { CONTENT = ""; } object[] data = new object[] { CA_ID, BASEID, BASENAME, CA_NAME, CA_RULETYPE, CA_RULETEXT, CA_RULETEXT2, CONTENT }; this.dataGridView1.Rows.Add(false, CA_ID, BASEID, BASENAME, CA_NAME, CA_RULETYPE, CA_RULETEXT, CA_RULETEXT2, CONTENT); } OracleClass.Close(); } }
7.判断DataGridView中checkbox选中的个数
//判断checkbox中选中的个数 int count = 0; for (int i = 0; i<dataGridView1.Rows.Count;i++ ) { DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)dataGridView1.Rows[i].Cells[0]; if((Boolean)chk.EditedFormattedValue==true){ count++; } }
8.获取被选中checkbox
//获取被选中checkbox的数据 for (int i = 0; i<this.dataGridView1.Rows.Count;i++ ) { DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)dataGridView1.Rows[i].Cells[0]; if((Boolean)chk.EditedFormattedValue==true){ ruleId = int.Parse(this.dataGridView1.Rows[i].Cells["ruleID"].Value.ToString()); equipmentId = int.Parse(this.dataGridView1.Rows[i].Cells["equipmentId"].Value.ToString()); equipmentName = this.dataGridView1.Rows[i].Cells["equipmentName"].Value.ToString(); propertyName = this.dataGridView1.Rows[i].Cells["propertyName"].Value.ToString(); if (this.dataGridView1.Rows[i].Cells["ruleType"].Value.ToString() == "逻辑关联类型") { ruleType = 4; } else if (this.dataGridView1.Rows[i].Cells["ruleType"].Value.ToString() == "固定格式类型") { ruleType = 3; } else if (this.dataGridView1.Rows[i].Cells["ruleType"].Value.ToString() == "标准格式类型") { ruleType = 2; } else if (this.dataGridView1.Rows[i].Cells["ruleType"].Value.ToString() == "范围匹配类型") { ruleType = 1; } else if (this.dataGridView1.Rows[i].Cells["ruleType"].Value.ToString() == "无") { ruleType = -1; } ruleRequest = this.dataGridView1.Rows[i].Cells["ruleRequest"].Value.ToString(); ruleRequestOther = this.dataGridView1.Rows[i].Cells["ruleRequestOther"].Value.ToString(); ruleExplain = this.dataGridView1.Rows[i].Cells["ruleExplain"].Value.ToString(); break; } }
发表评论
-
c# winform 关于DataGridView的一些操作(转)
2013-08-27 19:33 7193设置字段名 设置字段 ... -
C#控制文本框(TextBox)只能输入正数,负数,小数
2013-08-21 17:21 13275C#控制文本框(TextBox)只能输入正数,负数,小数 ... -
C# 窗体WinForm中动态显示radioButton实例
2013-01-11 11:20 7808一个项目中用到的实例,根据数据库查询出待显示的radioBut ... -
C# 父窗体 子窗体 传值
2013-01-10 15:59 37991. 父窗体给子窗体传值 点击父窗体的Button 打 ... -
C# TreeView组件的常用操作
2012-12-21 09:55 2511C# TreeView组件的一些其他常用操作: 1.展开 ... -
C#实现对逗号分隔的字符串进行读取,以及中文的逗号转换成英文逗号的方法
2012-12-19 16:49 6033C#实现对逗号分隔的字符串进行读取 string[] ... -
C#连接Oracle数据库(执行增删改查操作)
2012-12-19 15:58 27367C#中Oracle数据库的连接类 1.C#连接Oracle数 ...
相关推荐
C# DataGridView控件使用全攻略
自定义 Windows 窗体 DataGridView 控件 现有的几种嵌套控件,但无时间控件类型,下载代码中就是嵌套了时间控件类。 System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms.DataGridView...
近段时间看到很多在路上的朋友都在找这个 我也偶尔在别的地方下载来看了下别人写的东西 感觉不是这缺就是那少 都不大完美 这段 C# DataGridView 控件内容打印代码 是经本人在VS2008下测试通过 可以实现对...
已经生成了DLL 直接拖入工具栏就可以使用了
C# DataGridView控件使用完全攻略 DataGridView是用于Windows Froms 2.0的新网格控件。它可以取代先前版本中DataGrid控 件,它易于使用并高度可定制,支持很多我们的用户需要的特性。 关于本文档: 本文档不准备...
DataGridView控件使用例子,完全是代码的连接使用
c# datagridview 经典行拖拽
本文主要总结c#datagridview控件的使用,将常常使用的代码段写入了进去。
主要介绍了C#中改变DataGridView控件边框颜色的方法,默认的DataGridView边框颜色很丑,本文用编程方法实现修改DataGridView边框颜色,需要的朋友可以参考下
C# DataGridView控件用法合集
基于C#的WinForm中DataGridView控件操作汇总
C#可以静态绑定数据源,这样就自动为DataGridView控件添加 相应的行。假如需要动态为DataGridView控件添加新行,方法有很多种
问答板块 https://ask.csdn.net/questions/691015 C#dataGridView控件问题内容条件显示 的回答
这篇文章主要介绍了C#dataGridView控件的增删查改操作、自动生成序列号和末行显示等知识,并提供"仓库物料实时监控模拟"实例给大家进行学习参考。
用了一下午时间写的一个Datagridview分页控件,附上了控件所用的测试程序,希望对大家有所帮助。
C# DataGridView控件详解 不错的资料
实现文章内容