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

面试题 相关文章推荐
xml有哪些解析技术?区别是什么
Apr 26 面试题
神路信息Java面试题目
Mar 31 面试题
在C中是否有模拟继承等面向对象程序设计特性的好方法
May 22 面试题
不开辟用于交换数据的临时空间,如何完成字符串的逆序
Dec 02 面试题
一家外企的面试题目(C/C++面试题,C语言面试题)
Mar 24 面试题
编写类String的构造函数、析构函数和赋值函数
May 29 面试题
在SQL Server中创建数据库主要有那种方式
Sep 10 面试题
为什么需要版本控制
Oct 28 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
Jul 24 面试题
关键字throw与throws的用法差异
Nov 22 面试题
给定一个时间点,希望得到其他时间点
Nov 07 面试题
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项目应该注意的几点事项分享
2013/12/20 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
Javascript中定义方法的另类写法(批量定义js对象的方法)
2011/02/25 Javascript
js 金额格式化来回转换示例
2014/02/23 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
浅析javascript中的事件代理
2015/11/06 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
JavaScript设计模式之装饰者模式定义与应用示例
2018/07/25 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
2018/10/19 Javascript
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
[09:33]2015国际邀请赛第四日TOP10
2015/08/08 DOTA
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
基于Python的OCR实现示例
2020/04/03 Python
Django model重写save方法及update踩坑详解
2020/07/27 Python
python 如何调用 dubbo 接口
2020/09/24 Python
Python函数调用追踪实现代码
2020/11/27 Python
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
英国团购网站:Groupon英国
2017/11/28 全球购物
贝尔帐篷精品店:Bell Tent Boutique
2019/06/12 全球购物
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
打架检讨书50字
2014/01/11 职场文书
《我的第一本书》教学反思
2014/02/15 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
论文答辩开场白大全
2015/05/27 职场文书
培训心得体会怎么写
2016/01/25 职场文书
关于ObjectUtils.isEmpty() 和 null 的区别
2022/02/28 Java/Android