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

面试题 相关文章推荐
枚举与#define宏的区别
Apr 30 面试题
空指针到底是什么
Aug 07 面试题
SQL SERVER面试资料
Mar 30 面试题
哪些情况下不应该使用索引
Jul 20 面试题
如何理解委托
Jan 06 面试题
.net软件工程师应聘上机试题
Mar 10 面试题
C#里面如何判断一个Object是否是某种类型(如Boolean)?
Feb 10 面试题
Linux开机引导的步骤是什么
Oct 19 面试题
设置器与访问器的定义以及各自特点
Jan 08 面试题
当文件系统受到破坏时,如何检查和修复系统?
Mar 09 面试题
Tomcat的缺省是多少,怎么修改
Apr 09 面试题
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
初学者入门:细述PHP4的核心Zend
2006/09/05 PHP
.htaccess文件保护实例讲解
2011/02/06 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
PHP实现的XXTEA加密解密算法示例
2018/08/28 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
关于图片的预加载过程中隐藏未知的
2012/12/19 Javascript
js中的布尔运算符使用介绍
2013/11/20 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
纯javascript版日历控件
2016/11/24 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
解决vue打包项目后刷新404的问题
2018/03/06 Javascript
浅谈vue 单文件探索
2018/09/05 Javascript
Element-ui中元素滚动时el-option超出元素区域的问题
2019/05/30 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
vue基于v-charts封装双向条形图的实现代码
2019/12/09 Javascript
iSlider手机端图片滑动切换插件使用详解
2019/12/24 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
python转换摩斯密码示例
2014/02/16 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
python 画图 图例自由定义方式
2020/04/17 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
Python的信号库Blinker用法详解
2020/12/31 Python
《梅兰芳学艺》教学反思
2014/02/24 职场文书
《美丽的彩虹》教学反思
2014/02/25 职场文书
房屋买卖协议书
2014/04/10 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server
JavaScript实现队列结构过程
2021/12/06 Javascript
Vue全局事件总线你了解吗
2022/02/24 Vue.js