如何为DataGridView添加一个定制的Column Type
2023-07-06
这个例子实现了一个把数据中的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改成以上的这个就可以了