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

面试题 相关文章推荐
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
Sep 09 面试题
大唐电信科技股份有限公司java工程师面试经历
Dec 09 面试题
介绍java中初始化块的使用
Sep 11 面试题
一套带答案的C++笔试题
Jan 10 面试题
C++:memset ,memcpy和strcpy的根本区别
Apr 27 面试题
关联、聚合(Aggregation)以及组合(Composition)的区别
Feb 29 面试题
如何查询Oracle数据库中已经创建的索引
Oct 11 面试题
如何理解委托
Jan 06 面试题
什么是Linux虚拟文件系统VFS
Aug 25 面试题
下列程序在32位linux或unix中的结果是什么
Mar 25 面试题
Solaris操作系统的线程机制
Jul 28 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
Mar 30 面试题
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 运行效率总结(提示程序速度)
2009/11/26 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
jQuery bind事件使用详解
2011/05/05 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
Python Deque 模块使用详解
2014/07/04 Python
python创建临时文件夹的方法
2015/07/06 Python
Python中常用的内置方法
2019/01/28 Python
Python下简易的单例模式详解
2019/04/08 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
Python 自由定制表格的实现示例
2020/03/20 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
Python实现寻找回文数字过程解析
2020/06/09 Python
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
JAVA程序员自荐书
2014/01/30 职场文书
学校消防演习方案
2014/02/19 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
销售代理协议书
2014/09/30 职场文书
个人查摆剖析材料
2014/10/04 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
销售员态度差检讨书
2014/10/26 职场文书
会计电算化实训报告
2014/11/04 职场文书
2015年党员公开承诺书范文
2015/01/22 职场文书
爱护环境卫生倡议书
2015/04/29 职场文书
结婚堵门保证书
2015/05/08 职场文书
员工手册编写范本
2015/05/14 职场文书
起诉书格式范文
2015/05/20 职场文书
少年雷锋观后感
2015/06/10 职场文书
九年级英语教学反思
2016/02/15 职场文书
opencv-python图像配准(匹配和叠加)的实现
2021/06/23 Python
Python实现Hash算法
2022/03/18 Python