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

面试题 相关文章推荐
为什么会有内存对齐
Oct 10 面试题
经典c++面试题二
Aug 14 面试题
广州品高软件.net笔面试题目
Apr 18 面试题
C#如何调用Windows程序打开一个文档
Dec 26 面试题
下列程序在32位linux或unix中的结果是什么
Jan 26 面试题
nohup的用法
Aug 10 面试题
EJB3.1都有哪些改进
Nov 17 面试题
JavaScript获取当前url根目录(路径)
Feb 19 面试题
如何用JQuery进行表单验证
May 29 面试题
Python中如何定义一个函数
Sep 06 面试题
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
Oct 17 面试题
两道JAVA笔试题
Sep 14 面试题
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新手上路(十)
2006/10/09 PHP
php实现的短网址算法分享
2014/06/20 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
jQuery中读取json文件示例代码
2013/05/10 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
javaScript中slice函数用法实例分析
2015/06/08 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
2016/11/09 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
微信小程序组件 marquee实例详解
2017/06/23 Javascript
基于webpack 实用配置方法总结
2017/09/28 Javascript
微信小程序实现简单购物车功能
2020/12/30 Javascript
[44:40]KG vs LGD 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python使用MySQLdb for Python操作数据库教程
2014/10/11 Python
python实现的简单RPG游戏流程实例
2015/06/28 Python
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
举例讲解Python中的死锁、可重入锁和互斥锁
2015/11/05 Python
Python实现OpenCV的安装与使用示例
2018/03/30 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
python pygame实现2048游戏
2018/11/20 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
Python 数据的累加与统计的示例代码
2020/08/03 Python
了解一下python内建模块collections
2020/09/07 Python
使用HTML5和CSS3表单验证功能
2017/05/05 HTML / CSS
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
事业单位个人应聘自荐信
2013/09/21 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
公司食堂管理制度
2015/08/05 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript