如何为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...

面试题 相关文章推荐
为什么要优先使用同步代码块而不是同步方法?
Jan 30 面试题
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
Feb 08 面试题
List、Map、Set三个接口,存取元素时,各有什么特点?
Sep 27 面试题
JSF面试题:如何管量web层中的Bean,用什么标签。如何通过jsp页面与Bean绑定在一起进行处理?
Oct 05 面试题
main 函数执行以前,还会执行什么代码
Apr 17 面试题
北承题目(C++)
May 16 面试题
C面试题
Oct 08 面试题
DataList 能否分页,请问如何实现?
May 03 面试题
linux下进程间通信的方式
Dec 23 面试题
一套软件测试笔试题
Jul 25 面试题
什么时候用assert
May 08 面试题
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
Nov 22 面试题
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
5款适合PHP使用的HTML编辑器推荐
2015/07/03 PHP
php上传图片获取路径及给表单字段赋值的方法
2016/01/23 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
2016/09/30 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
javaScript中的this示例学习详解及工作原理
2014/01/13 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
jquery获取html元素的绝对位置和相对位置的方法
2014/06/20 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
2017/03/15 Javascript
EL表达式截取字符串的函数说明
2017/09/22 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
js实现多图和单图上传显示
2019/12/18 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
菜鸟使用python实现正则检测密码合法性
2016/01/05 Python
Python 如何访问外围作用域中的变量
2016/09/11 Python
Python matplotlib的使用并自定义colormap的方法
2018/12/13 Python
详解python 爬取12306验证码
2019/05/10 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
影视动画专业个人的自我评价
2013/12/31 职场文书
企业内部培训方案
2014/02/04 职场文书
小学生感恩演讲稿
2014/04/25 职场文书
2015年体检中心工作总结
2015/05/27 职场文书
社区安全温馨提示语
2015/07/14 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
纯html+css实现打字效果
2021/08/02 HTML / CSS
SQL实现LeetCode(175.联合两表)
2021/08/04 MySQL
Pygame Draw绘图函数的具体使用
2021/11/17 Python