如何为DataGridView添加一个定制的Column Type


Posted in 面试题 onJanuary 21, 2014
这个例子实现了一个把数据中的Boolean值用Y或者N在DataGridView里面显示,步骤如下:

1. 建立一个继承DataGridViewTextBoxCell的类, 代码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

namespace com.Threes.CustomControl
{
public class DataGridViewBooleanCell : DataGridViewTextBoxCell
{
protected override void Paint(
Graphics graphics,
Rectangle clipBounds,
Rectangle cellBounds,
int rowIndex,
DataGridViewElementStates cellState,
object value,
object formattedValue,
string errorText,
DataGridViewCellStyle cellStyle,
DataGridViewAdvancedBorderStyle advancedBorderStyle,
DataGridViewPaintParts paintParts)
{
// Call the base class method to paint the default cell appearance.
base.Paint(graphics, clipBounds, cellBounds, rowIndex, cellState,
value, “”, errorText, cellStyle,
advancedBorderStyle, paintParts);
if (value is Boolean && (bool)value == true)
{
graphics.DrawString(“Y”, cellStyle.Font, new SolidBrush(cellStyle.ForeColor), cellBounds.X, cellBounds.Y);
}

}

}

}

2. 建立一个继承自DataGridViewColumn的类 代码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

namespace com.Threes.CustomControl
{
public class DataGridViewBooleanColumn : DataGridViewColumn
{
public DataGridViewBooleanColumn()
{
this.CellTemplate = new DataGridViewBooleanCell();
}
}
}

然后把你的DataGridView里面的Boolean列的ColumnType改成以上的这个就可以了

Tags in this post...

面试题 相关文章推荐
List, Set, Map是否继承自Collection接口?
May 16 面试题
如何在存储过程中使用Loop
Jan 05 面试题
为什么UNION ALL比UNION快
Mar 17 面试题
解释DataSet(ds) 和 ds as DataSet 的含义
Jul 27 面试题
什么是WEB控件?使用WEB控件有哪些优势?
Jan 21 面试题
什么是View State?
Jan 27 面试题
C#如何进行LDAP用户校验
Nov 21 面试题
abstract是什么意思
Feb 12 面试题
Linux文件系统类型
Sep 16 面试题
Java语言的优势
Jan 10 面试题
shell变量的作用空间是什么
Aug 17 面试题
J2EE的优越性主要表现在哪些方面
Mar 28 面试题
Net Remoting把服务器端激活两种模式
Jan 22 #面试题
.net软件工程师应聘上机试题
Mar 10 #面试题
请解释在new与override的区别
Oct 29 #面试题
关于递归的一道.NET面试题
May 12 #面试题
杭州信雅达系统.NET工程师面试试题
Feb 08 #面试题
请解释一下webService? 如何用.net实现webService
Jun 09 #面试题
请编程遍历页面上所有 TextBox 控件并给它赋值为 string.Empty
Dec 03 #面试题
You might like
php用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
php7 错误处理机制修改实例分析
2020/05/25 PHP
JavaScript入门教程(12) js对象化编程
2009/01/31 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
原生JS与jQuery编写简单选项卡
2017/10/30 jQuery
AngularJS中重新加载当前路由页面的方法
2018/03/09 Javascript
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
chosen实现省市区三级联动
2018/08/16 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
js 实现ajax发送步骤过程详解
2019/07/25 Javascript
解决Vue watch里调用方法的坑
2020/11/07 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
Python黑魔法@property装饰器的使用技巧解析
2016/06/16 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
Python登录注册验证功能实现
2018/06/18 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
美国批发零售网站:GearXS
2016/07/26 全球购物
印度尼西亚综合购物网站:Lazada印尼
2016/09/07 全球购物
香港通票:Hong Kong Pass
2019/02/26 全球购物
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
八年级物理教学反思
2014/01/19 职场文书
2014年企业工会工作总结
2014/11/12 职场文书
红与黑读书笔记
2015/06/29 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
Django利用AJAX技术实现博文实时搜索
2021/05/06 Python
浅谈Python类的单继承相关知识
2021/05/12 Python
Java Kafka 消费积压监控的示例代码
2021/07/01 Java/Android