当前位置: 首页 > 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();

相关文章:

  • 用mac做网站福建seo
  • 深圳外贸网站制作公司如何模板建站
  • 苏州新区网站建设广州新闻播报
  • 长沙小程序app开发seo网站快排
  • 我自己做的一个网站显示证书错误你就知道
  • 要做个卖东西网站怎么做东莞seo外包公司
  • 【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集成指南