DataGridView控件使用说明

简介: 以下是针对DataGridView控件的常见使用的一个查阅说明: (1)、获取DataGridView控件中的当前单元格               行索引:dataGridView1.

以下是针对DataGridView控件的常见使用的一个查阅说明:

(1)、获取DataGridView控件中的当前单元格

              行索引:dataGridView1.CurrentCell.RowIndex.ToString();

              列索引:dataGridView1.CurrentCell.ColumnIndex.ToString();

(2)、复制DataSet

              DataSet ds_copy = ds.Copy();     //调用一个已经存在的数据集的Copy方法,返回值仍然是一个DataSet

              dataGridView1.DataSource = ds_copy.Tables[0];

(3)、选中DataGridView控件中的行时显示不同颜色

              dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; //整行被选中

              dataGridView1.ReadOnly  = true;        //DataGridView控件中的数据为只读,不能修改

              dataGridView1.DefaultCellStyle.SelectionBackColor = Color.YellowGreen;    //  设置被选中行的背景颜色

(4)、禁止在DataGridView控件中添加和删除行

              dataGridView1.AllowUserToAddRows = false;      //属性设为false

              dataGridView1.AllowUserToDeleteRows =  false;   //属性设为false

              dataGridView1.ReadOnly = false;                      ////DataGridView控件中的数据可以修改

(5)、使用Rows和Columns属性添加数据

              dataGridView1.ColumnCount = 4;        //列数为4

              dataGridView1.ColumnHeadersVisible = true;    //列的头标题可见

              DataGridViewCellStyle columnHeaderStyle = new DataGridViewCellStyle(); 

              columnHeaderStyle.BackColor = Color.Beige;

              columnHeaderStyle.Font = new Font("宋体",10,FontStyle.Bold);

              dataGridView1.ColumnHeadersDefaultCellStyle = columnHeaderStyle;

              //设置列的标题名称

              dataGridView1.Columns[0].Name = "编号";

              dataGridView1.Columns[1].Name = "姓名";

              dataGridView1.Columns[2].Name = "年龄";

              dataGridView1.Columns[3].Name = "性别";

              //手动增加一些数据

              string[] row1 = new string[]{"1001","张三",22,"男"};

              string[] row2 = new string[]{"1002","李四",24,"女"};

              string[] row3 = new string[]{"1003","王五",25,"男"};

              //将所有内容放在一个object的数据中

              object[] rows = new object[]{row1,row2,row3};

              //遍历object数组,将所有内容添加到DataGridView中去

              foreach(string[] rowArray in rows)

              {

                      dataGridView1.Rows.Add(rowArray);

              }

(6)、间接在DataGridView控件中修改数据

             在dataGridView1_CellClick(object sender,EventArgs e)方法中添加如下代码:

             txtID.Text = dataGridView1.SelectedCells[0].Value.ToString();
             txtName.Text = dataGridView1.SelectedCells[1].Value.ToString();
             txtPwd.Text = dataGridView1.SelectedCells[2].Value.ToString();
             txtQQ.Text = dataGridView1.SelectedCells[3].Value.ToString();

      此段代码是用于在点击某行时,将该行内容填写到下方的TextBox控件中,用于显示和后来的修改。

      添加一个修改按钮,用于修改文本框TextBox中的内容,其中ID字段不让修改,是主键。

           //修改数据
            DataTable dt = ds.Tables[0];
            da.FillSchema(dt, SchemaType.Mapped);
            DataRow dr = dt.Rows.Find(txtID.Text);
            dr["username"] = txtName.Text.Trim();
            dr["password"] = txtPwd.Text.Trim();
            dr["qq"] = txtQQ.Text.Trim();
            SqlCommandBuilder scb = new SqlCommandBuilder(da);
            da.Update(dt);
            MessageBox.Show("修改成功!");

            

             

相关文章
|
人工智能 文字识别 自然语言处理
智能文字识别技术——AI赋能古彝文保护
人工智能在古彝文古籍保护方面具有巨大的潜力和意义。通过数字化、自动化和智能化的手段,可以更好地保护和传承古彝文的文化遗产,促进彝族文化的传承和发展。
Cesium中开启等高线渲染
最近接到一个需求,需要在Cesium中基于实时地形开启等高线效果,让用户可以看到真实效果。
993 0
Cesium中开启等高线渲染
|
12月前
|
存储 数据处理 索引
MATLAB中的基本数据类型与变量操作
【10月更文挑战第1天】 MATLAB 是一种广泛应用于数学计算和科学研究的编程语言,其核心是矩阵运算。本文详细介绍了 MATLAB 中的基本数据类型,包括数值类型(如 `double` 和 `int`)、字符数组、逻辑类型、结构体、单元数组和函数句柄,并通过代码示例展示了变量操作方法。
|
机器学习/深度学习 PyTorch 调度
在Pytorch中为不同层设置不同学习率来提升性能,优化深度学习模型
在深度学习中,学习率作为关键超参数对模型收敛速度和性能至关重要。传统方法采用统一学习率,但研究表明为不同层设置差异化学习率能显著提升性能。本文探讨了这一策略的理论基础及PyTorch实现方法,包括模型定义、参数分组、优化器配置及训练流程。通过示例展示了如何为ResNet18设置不同层的学习率,并介绍了渐进式解冻和层适应学习率等高级技巧,帮助研究者更好地优化模型训练。
798 4
在Pytorch中为不同层设置不同学习率来提升性能,优化深度学习模型
|
12月前
|
缓存 网络协议 网络安全
计算机网络基础知识
本文介绍了计算机网络中的路由协议、HTTP协议、OSI七层模型、VLAN、TCP/UDP协议等内容。路由协议部分涵盖了NAT、OSPF、RIP、IGRP和BGP的基本概念和区别。HTTP协议部分详细解释了请求和响应的结构、常用方法、状态码、重定向和转发的区别、GET和POST的区别、Cookies和Session的区别、HTTP请求访问流程以及HTTP和HTTPS的区别。OSI七层模型部分简述了各层的功能。VLAN部分介绍了VLAN的工作原理和优势。TCP/UDP部分对比了两种协议的特点,重点讲解了TCP的三次握手和四次挥手过程及其作用。
|
存储 关系型数据库 MySQL
索引的威力--记一次MySQL存储过程优化
在MySQL存储过程中,一个`INSERT INTO SELECT`语句起初执行超过130秒,优化后,执行时间降低到1秒内,实现了100倍的性能提升。问题在于`NOT IN`子查询导致的慢查询,最终通过创建单列索引获得了最佳效果。文章还介绍了索引创建的基本语法,并讨论了单列索引与组合索引的优缺点。作者强调,随着数据量增加,索引对于查询性能的重要性,计划未来采用读写分离来进一步优化处理大量插入和查询的场景。
374 0
|
前端开发
如何把input复选框如何变成好看的圆形
如何把input复选框如何变成好看的圆形
244 0
|
安全 算法 API
如何在DocuSign中设置PKCE(Proof Key for Code Exchange)
在使用DocuSign进行电子签名时,安全性至关重要。PKCE提供了一个额外的安全层,特别是在移动设备或基于浏览器的应用中,有效防止授权码泄露或被未授权的第三方使用。
320 0
如何在DocuSign中设置PKCE(Proof Key for Code Exchange)
|
前端开发 C# 数据库
让WPF中的DataGrid像Excel一样可以筛选(上)
让WPF中的DataGrid像Excel一样可以筛选(上)
369 0
让WPF中的DataGrid像Excel一样可以筛选(上)
|
安全
[UDS] --- ReadDataByIdentifier 0x22
[UDS] --- ReadDataByIdentifier 0x22
1010 0