好记性不如烂笔头——datagridview相关
DataGridViewTextBoxColumn dgv_IDY = new DataGridViewTextBoxColumn();
dgv_IDY.Visible = false;
dgv_IDY.HeaderText = "IDY";
dgv_IDY.Name = "IDY";
DataGridViewTextBoxColumn dgv_IDT = new DataGridViewTextBoxColumn();
dgv_IDT.Visible = false;
dgv_IDT.HeaderText = "IDT";
dgv_IDT.Name = "IDT";
DataGridViewTextBoxColumn dgv_chrPoint = new DataGridViewTextBoxColumn();
dgv_chrPoint.Visible = false;
dgv_chrPoint.HeaderText = "chrPoint";
dgv_chrPoint.Name = "chrPoint";
DataGridViewTextBoxColumn dgv_chrWorName = new DataGridViewTextBoxColumn();
dgv_chrWorName.HeaderText = "工作面名称";
dgv_chrWorName.Name = "chrWorName";
dgv_chrWorName.ReadOnly = true;
dgv_chrWorName.Width = ;
dgv.Columns.Add(dgv_IDY);
dgv.Columns.Add(dgv_IDT);
dgv.Columns.Add(dgv_chrPoint);
dgv.Columns.Add(dgv_chrWorName);
dgv.AllowUserToAddRows = false;//禁用自动增长行
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;//
for (int i = ; i < dgv.Columns.Count; i++)
{
dgv.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;//禁用排序
for (int j = ; j < dgv.Rows.Count; j++)
{
dgv.Rows[j].Cells[].Style.BackColor =Color.Azure;
}
}
dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;//禁止改变列头高度
void dgv_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
double outDb = ;
//可编辑的列
if (dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].ReadOnly || e.ColumnIndex == dgv.Columns.Count)
{
return;
}
if (double.TryParse(e.FormattedValue.ToString(), out outDb) || string.IsNullOrEmpty(e.FormattedValue.ToString()))//如果输入的不是数字
{
dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Green;
}
else
{
dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.Red;
}
}
public static DataTable DgvToDt(DataGridView dv)
{
DataTable dt = new DataTable();
DataColumn dc;
for (int i = ; i < dv.Columns.Count; i++)
{
dc = new DataColumn();
dc.ColumnName = dv.Columns[i].Name;
dt.Columns.Add(dc);
}
for (int j = ; j < dv.Rows.Count; j++)
{
DataRow dr = dt.NewRow();
for (int x = ; x < dv.Columns.Count; x++)
{
dr[x] = dv.Rows[j].Cells[x].Value;
}
dt.Rows.Add(dr);
}
return dt;
}
datagridview转datatable
好记性不如烂笔头——datagridview相关的更多相关文章
- 好记性不如烂笔头-linux学习笔记1
好记性不如烂笔头-linux学习笔记1 linux的文件系统有ext2,ext3,ext4,目前主流是ext4 linux主要用于服务器级别的操作系统,安装时需要至少2个分区 一个是交换分区,swap ...
- 好记性不如烂笔头-Mysql查找如何判断字段是否包含某个字符串
好记性不如烂笔头-Mysql查找如何判断字段是否包含某个字符串 利用mysql 字符串函数 find_in_set(); SELECT * FROM users WHERE find_in_set(' ...
- [nodejs]修改全局包位置,修复npm安装全局模块命令失效。好记性不如烂笔头
修复npm -g 全局安装命令失效,好的吧不得不承认,好记性不如烂笔头,我居然会忘记方法哈哈哈 Linux安装nodejs sudo apt install node sudo apt install ...
- Common lang一些边界方法总结(好记性不如烂笔头,需要慢慢积累).一定要利用好现有的轮子,例如Apache common与Google Guava
好记性真是不如烂笔头啊!!!! 如下代码: List<String> list = new ArrayList<String>(); list.add("1" ...
- 好记性不如烂笔头-linux学习笔记4apache相关知识
apache 启动有2种模式 1是prefork模式,每个进程对应一个线程,如果是比较稳定的平台,那么prefork模式是worker模式 比较好,效率高,但是吃的内存比较大. 2 如果是高负载高并发 ...
- 好记性不如烂笔头85-spring3学习(6)-BeanFactory 于bean生命周期
假设BeanFactory为了产生.管理Bean, 一个Bean从成立到毁灭.它会经过几个阶段运行. 据我所知,一般bean包括在生命周期:设定,初始化,使用阶段,四个核心阶段销毁. 1.@Bean的 ...
- 好记性不如烂笔头之Maven使用小记
一.前言 说起Maven,是在我上上东家接触的,掌握的还不错,因为种种原因,上家公司没有使用太多大众技术,我也没有太多施展的机会,对于以前掌握的技术,很多都荒废了,最近使用起来发现有点儿吃力了,为了加 ...
- SQL-LINQ-Lambda语法对照,好记性不如烂笔头
忘记的时候就翻阅翻阅吧~~ SQL LINQ Lambda SELECT *FROM HumanResources.Employee from e in Employees select e Empl ...
- 【好记性不如烂笔头】死锁之java代码
死锁: 是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称 ...
随机推荐
- highcharts中的x轴如何显示时分秒时间格式
上一篇文章写道:三分钟上手Highcharts简易甘特图:https://www.jianshu.com/p/d669d451711b,在官方文档里面,x轴默认为年月日. 在项目需求中,x轴要表示24 ...
- 讲的好,php后端模式,php-fpm以及php-cgi, fast-cgi,以及与nginx的关系
关于cgi是什么,fast-cgi是什么,php-cgi是什么,fast-cgi是什么,下面这篇讲的很清楚: https://segmentfault.com/q/1010000000256516 另 ...
- C++里的模板
1.泛型编程 --即实现一个通用的标准容器库. 所谓通用的标准容器库,就是要做到:比方List类存放全部肯恩类型的对象这样的事:泛型编程让你编写一个全然一般化并可反复使用的算法,其效率与针对某特定数 ...
- 【v2.x OGE教程 12】 关卡编辑器帮助文档
] 关卡编辑器帮助文档 一.简单介绍 关卡编辑器用于游戏关卡界面元素的可视化编辑,包含元素的位置.尺寸以及其他自己定义属性.通过解析生成的数据文件就可以获取关卡信息,并能随时调整.以降低开发工作量,提 ...
- 矩阵乘法2(codevs3147)
题目描写叙述 Description 给出两个n*n的矩阵.m次询问它们的积中给定子矩阵的数值和. 输入描写叙述 Input Description 第一行两个正整数n,m. 接下来n行,每行n个非负 ...
- Toeplitz matrix 与 Circulant matrix
之所以专门定义两个新的概念,在于它们特殊的形式,带来的特别的形式. 1. Toeplitz matrix 对角为常数: n×n 的矩阵 A 是 Toepliz 矩阵当且仅当,对于 Ai,j 有: Ai ...
- vue methods 方法中 方法 调用 另一个方法。
vue在同一个组件内: methods中的一个方法调用methods中的另外一个方法. 可以在调用的时候 this.$options.methods.test(); this.$options.met ...
- Fragment-Transaction 源码分析
概述 这篇文章的简要分析了Activity中的Transaction和add,replace等操作以及backstack的工作原理. 分析transaction源码的原因是因为我在写一个测试代码的时候 ...
- Kinect 开发 —— 近距离探测
如何将Kinect设备作为一个近距离探测传感器.为了演示这一点,我们处理的场景可能在以前看到过.就是某一个人是否站在Kinect前面,在Kinect前面移动的是人还是什么其他的物体.当我们设置的触发器 ...
- python 中文文档地址总结
sqlalchemy: https://www.imooc.com/article/details/id/22343