`
阅读更多

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;
                    }
                    
                }
1
1
分享到:
评论

相关推荐

    C# DataGridView控件使用全攻略

    ### C# DataGridView 控件使用全攻略 #### 一、何为 DataGridView **1.1 DataGridView 和 DataGrid 之间的区别** DataGridView 控件是 .NET Framework 2.0 中引入的一个全新的表格控件,用来替代之前的 DataGrid ...

    C#DataGridView自定义控件的列,提供源代码!

    自定义 Windows 窗体 DataGridView 控件 现有的几种嵌套控件,但无时间控件类型,下载代码中就是嵌套了时间控件类。 System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms.DataGridView...

    C# datagridView 控件使用心得

    本篇文章将深入探讨C#中datagridview控件的使用心得,包括其基本功能、数据绑定、自定义操作和事件处理等方面。 首先,datagridview控件的基本功能强大,它支持行列显示、排序、过滤、编辑等操作。在设计阶段,我们...

    C#打印 DataGridView 控件

    近段时间看到很多在路上的朋友都在找这个 我也偶尔在别的地方下载来看了下别人写的东西 感觉不是这缺就是那少 都不大完美 这段 C# DataGridView 控件内容打印代码 是经本人在VS2008下测试通过 可以实现对...

    C# DataGridView控件使用例子

    在.NET框架中,C#的DataGridView控件是一个强大的数据展示工具,它允许用户在Windows Forms应用程序中以表格形式查看和编辑数据。这个控件适用于多种数据源,包括数组、列表、数据库以及XML文件等。本教程将深入探讨...

    基于C#的WinForm中DataGridView控件操作汇总

    "基于C#的WinForm中DataGridView控件操作汇总" 在C#的WinForm中,DataGridView控件是一种常见的控件,用于显示和编辑表格数据。下面将对DataGridView控件的操作进行汇总。 一、单元格内容的操作 在DataGridView...

    C# DataGridView控件美化

    已经生成了DLL 直接拖入工具栏就可以使用了

    C#_DataGridView控件使用全攻略

    C# DataGridView控件使用完全攻略 DataGridView是用于Windows Froms 2.0的新网格控件。它可以取代先前版本中DataGrid控 件,它易于使用并高度可定制,支持很多我们的用户需要的特性。 关于本文档: 本文档不准备...

    c# Datagridview 分页控件以及测试程序

    在Windows桌面应用中,数据展示是常见的需求,而DataGridView控件是C#中用于展示大量结构化数据的强大工具。本篇将详细介绍"C# Datagridview 分页控件以及测试程序"的相关知识点,并提供实现分页功能的思路。 1. ...

    C#中改变DataGridView控件边框颜色的方法

    在C#编程中,`DataGridView`控件是一个用于显示数据表格的强大工具,广泛应用于各种桌面应用程序。默认情况下,它的边框颜色可能并不符合所有开发者或用户对于界面美观的要求。因此,有时我们需要自定义控件的外观,...

    c# datagridview 行拖拽

    本文将详细介绍如何实现在 `DataGridView` 控件中的行拖拽功能,即允许用户通过简单的鼠标操作对表格中的行进行上移或下移的操作。 #### 一、基础知识准备 在开始实现之前,我们先了解一些基本概念: - **...

    C#实现DataGridView控件行列互换的方法

    在C#编程中,DataGridView控件是一个非常常用的组件,用于展示和编辑表格数据。当需要对数据进行特殊处理,如行列互换时,就需要利用到控件的一些高级特性。本篇将详细介绍如何在C#中实现DataGridView控件的行列互换...

    C#DataGridView控件

    C#可以静态绑定数据源,这样就自动为DataGridView控件添加 相应的行。假如需要动态为DataGridView控件添加新行,方法有很多种

    C# DatagridView 多行列头的自定义控件

    在.NET Framework的Windows Forms开发中,`DataGridView`控件是常用的数据展示工具,但默认情况下,它不支持多级或复合表头。然而,对于需要更复杂布局的开发者,可以通过创建自定义控件来实现这一功能。标题"**C# ...

    c#datagridview控件的使用总结

    在C#开发中,`DataGridView`控件是非常常用的用于展示和编辑数据的工具之一。它提供了丰富的功能来处理表格数据,如排序、筛选、编辑等,并且支持多种数据源。本文主要针对`DataGridView`控件的常见使用场景进行了...

    C#里面DataGridView控件数据打印

    本文将深入探讨如何在C#中利用DataGridView控件进行数据打印,包括如何处理包含条形码的打印需求。 首先,我们要了解DataGridView控件的基本用法。在C#中,通过Visual Studio的工具箱,可以将DataGridView拖放到...

    C# DataGridView控件用法合集.pdf

    ### C# DataGridView控件用法详解 #### 一、DataGridView控件基础操作 **1. 当前单元格属性的获取与变更** 在DataGridView控件中,`CurrentCell`属性可以帮助我们定位当前活动的单元格。我们可以使用这个属性来...

    winform(c#) DataGridView控件多维合并表头(有使用教程)

    本文将深入探讨如何在C#的WinForm环境中使用`DataGridView`控件实现多维表头的合并,并提供一个简单的教程。 首先,我们需要了解`DataGridView`的基本用法。它是.NET Framework中的一个控件,可以用来显示表格数据...

Global site tag (gtag.js) - Google Analytics