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

面试题 相关文章推荐
Weblogc domain问题
Jan 27 面试题
Java的基础面试题附答案
Jan 10 面试题
C和C++经典笔试题附答案解析
Aug 18 面试题
const char*, char const*, char*const的区别是什么
Jul 09 面试题
将"引用"作为函数参数有哪些特点
Apr 05 面试题
2019史上最全Database工程师题库
Dec 06 面试题
DOM和JQuery对象有什么区别
Nov 11 面试题
介绍一下如何优化MySql
Dec 20 面试题
如何提高MySql的安全性
Jun 19 面试题
高级Java程序员面试要点
Aug 02 面试题
Java Servlet的主要功能和作用是什么
Feb 14 面试题
解释一下ruby中的特殊方法与特殊类
Feb 26 面试题
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中error_log()函数的使用方法
2015/01/20 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
2015/05/12 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
2016/09/13 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
PHP面向对象程序设计之多态性的应用示例
2018/12/19 PHP
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
Vue制作Todo List网页
2017/04/26 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
Vue filters过滤器的使用方法
2017/07/14 Javascript
js中less常用的方法小结
2017/08/09 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
vue项目中的webpack-dev-sever配置方法
2017/12/14 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
python列表与元组详解实例
2013/11/01 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
pytorch 数据集图片显示方法
2018/07/26 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
2020/05/26 Python
简单了解Django项目应用创建过程
2020/07/06 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
Python内置函数property()如何使用
2020/09/01 Python
python多线程爬取西刺代理的示例代码
2021/01/30 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
美国电视购物HSN官网:HSN
2016/09/07 全球购物
房地产开盘策划方案
2014/02/10 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书
检讨书范文
2019/04/16 职场文书
使用MybatisPlus打印sql语句
2022/04/22 SQL Server