您的位置:首页 > 其它

winform 制定DataGridViewTextColumn列(更改DataGridView的Cell的状态很有用)

2013-11-19 11:12 295 查看
先自定义一个类 继承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)
if ((bool)value == true)
{
graphics.DrawString("Y", cellStyle.Font, new SolidBrush(Color.Blue), cellBounds.X, cellBounds.Y);
}
else
{
graphics.DrawString("N", cellStyle.Font, new SolidBrush(Color.Red), cellBounds.X, cellBounds.Y);
}
else if (value is int)
{
int v = (int)value;
if (v == 1)
{
graphics.DrawString("男", cellStyle.Font, new SolidBrush(Color.Blue), cellBounds.X, cellBounds.Y);
}
else if (v == 0)
{
graphics.DrawString("女", cellStyle.Font, new SolidBrush(Color.Red), cellBounds.X, cellBounds.Y);
}
else
{
graphics.DrawString("人妖", cellStyle.Font, new SolidBrush(Color.Green), cellBounds.X, cellBounds.Y);
}
}
}

}

}


再自定义一个类 继承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();
}
}
}


借鉴与:http://www.mianwww.com/html/2009/06/3345.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: