当前位置: 首页 > news >正文

10-C#的dataGridView1和datatable的使用

C#的dataGridView的使用

1.双缓冲-解决控件卡顿

//利用反射设置DataGridView1的双缓冲
Type dgvType = this.dataGridView1.GetType();
PropertyInfo pi = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic);
pi.SetValue(this.dataGridView1, true, null);

2.不允许自动添加行

dataGridView1.AllowUserToAddRows = false;     //不允许自动添加行

3.数据的遍历

for (int i = 0; i < dataGridView1.RowCount; i++)
{for (int j = 0; j < dataGridView1.ColumnCount; j++){// 打印第i行第j列数据dataGridView1.Rows[i].Cells[j].Value=i*j;}
}

4.设置第一行的名称

dataGridView1.Rows[0].HeaderCell.Value = "-20";

5.获取第一行第一列的内容

label13.Text= dataGridView1.Rows[0].Cells[0].Value.ToString();

6.设置行宽度和个数

dataGridView1.RowHeadersWidth = 60;//设置行的宽度
dataGridView1.RowCount = 10;//设置行的个数
dataGridView1.Columns[0].Width = 30;//设置列宽度
dataGridView2.Rows[i].Height = 25;设置行高度
//设置列宽度,文字水平垂直对其
dataGridView2.Columns[i].Width = 25;
dataGridView2.Columns[i].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

7.判断输入的数据是否是浮点字符串

        private void dataGridView2_CellValidating(object sender, DataGridViewCellValidatingEventArgs e){//if (e.FormattedValue.ToString().Length > 2)//{//    e.Cancel = true;//}if (double.TryParse(e.FormattedValue.ToString(),out _)){e.Cancel = true;}}

C#的Datatable的使用

DataTable 是一个临时保存数据的网格虚拟表,表示内存中数据的一个表,是一个二维表,也是一个后台数据源和前台显示之间的适配器。

1.实例化datatable

//创建实例,并添加首行的内容
DataTable dt = new DataTable();
dt.Columns.Add("column0", typeof(String));//添加列
//再次添加列for (int i = 1; i < arraystr.GetLength(1); i++){dt.Columns.Add(i.ToString(), typeof(string));}
//为每一行添加数据
for (int i = 0; i < arrFrames.GetLength(0); i++)//获取行数量
{DataRow dr = dt.NewRow();//dr[0] = (i + 1).ToString();for (int j = 0; j < arraystr.GetLength(1); j++)//获取列数量{dr[j] = arraystr[i, j].ToString();}dt.Rows.Add(dr);
}

2.dataGridView1与datatable绑定

dataGridView2.DataSource = dt;

3.datatable某一行对应的列数据修改

dt.Rows[0]["12"] =44.ToString();

4.datatable某一列的名称修改

dt.Columns["12"].ColumnName = 99.ToString();
http://www.dtcms.com/a/258264.html

相关文章:

  • 【Pandas】pandas DataFrame merge
  • 飞往大厂梦之算法提升-day08
  • libevent(1)之基础概述
  • 网站公安网安备案查询API集成指南
  • 元宇宙时代实物建模新趋势:动态纹理映射与实时渲染方案
  • 【驱动设计的硬件基础】PCI和PCI-E
  • TongWeb替换tomcat
  • 【机器学习深度学习】多层神经网络的构成
  • MySQL深分页性能瓶颈:问题分析与解决方案
  • Linux SPI核心驱动spidev.c深度解析
  • svn域名更换,批量修改项目svn地址(linux)
  • FineBI(二)- 数据导入
  • AI时代工具:AIGC导航——AI工具集合
  • day041-web集群架构搭建
  • 阿里最新开源:Mnn3dAvatar 3D数字人框架, 无需联网,本地部署可离线运行,支持多模态实时交互
  • Docker 报错“x509: certificate signed by unknown authority”的排查与解决实录
  • CentOS下安装JDK17
  • CentOS 7 编译安装Nginx 1.27.5完整指南及负载均衡配置
  • Luckysheet Excel xlsx 导入导出互相转换
  • RSS解析并转换为JSON的API集成指南
  • 关键领域软件工厂的安全中枢如何全面升级供应链检测能力
  • CentOS 7 通过YUM安装MySQL 8.0完整指南
  • Redis的渐进式hash和缓存时间戳深入学习
  • PYTHON从入门到实践4-数据类型
  • 深入JVM:从零到实战,解锁Java性能与调优的终极武器
  • doris_工作使用整理
  • 记录某企业存储型XSS漏洞从发现到数据外泄全路径分析
  • Python 数据分析与可视化 Day 6 - 可视化整合报告实战
  • logback 日志不打印
  • uni-app项目实战笔记24--uniapp实现图片保存到手机相册