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

面试题 相关文章推荐
一份比较全的PHP面试题
Jul 29 面试题
如何在Cookie里面保存Unicode和国际化字符
May 25 面试题
简述synchronized和java.util.concurrent.locks.Lock的异同
Dec 08 面试题
static全局变量与普通的全局变量有什么区别
May 27 面试题
枚举和一组预处理的#define有什么不同
Sep 21 面试题
私有程序集与共享程序集有什么区别
Apr 05 面试题
上海微创软件面试题
Jun 14 面试题
软件缺陷的分类都有哪些
Aug 22 面试题
百度JavaScript笔试题
Jan 15 面试题
Java Servlet API中forward() 与redirect()的区别
Apr 20 面试题
过滤器的用法
Oct 08 面试题
Ruby如何实现动态方法调用
Nov 18 面试题
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下MAIL的另一解决方案
2006/10/09 PHP
php for 循环语句使用方法详细说明
2010/05/09 PHP
php防止用户重复提交表单
2015/11/02 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
DWR实现模拟Google搜索效果实现原理及代码
2013/01/30 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
Javascript实现div的toggle效果实例分析
2015/06/09 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
js实现input密码框显示/隐藏功能
2020/09/10 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
2020/03/09 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
Element MessageBox弹框的具体使用
2020/07/27 Javascript
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
详解supervisor使用教程
2017/11/21 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
开发人员所需要知道的HTML5性能分析面面观
2012/07/05 HTML / CSS
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
质检部职责
2013/12/28 职场文书
小学语文业务学习材料
2014/06/02 职场文书
党员三严三实心得体会
2014/10/13 职场文书
初中毕业生自我评价
2015/03/02 职场文书
2015年小学辅导员工作总结
2015/05/27 职场文书
2015年国庆节寄语
2015/08/17 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
特别篇动画《总之就是非常可爱 ~制服~》PV公开,2022年夏季播出
2022/04/04 日漫
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL