如何在Winform DataGridView中创建不同的单元格格式 [英] How can I create different cell formats in Winform DataGridView
问题描述
我有一个要绑定到DataTable的DataGridView。
DataTable是全数值。
DataGridView中的每n行必须有一个而不是数值(用于在视觉上为用户区分部分)中的文本。
I have a DataGridView that I'm binding to a DataTable.
The DataTable is a all numeric values.
There is a requirement that every n rows in the DataGridView has text in it, rather than the numeric values (to visually separate sections for the user).
我很高兴在绑定后将此文本数据放入DataTable或DataGridView中,但是我看不到将文本数据放入其中的一种方法两者的列格式都需要数字数据-两者都出现无法将字符串放入小数的错误。
I am happy to put this text data in the DataTable or in the DataGridView after binding, but I can't see a way to put this text data in either as the column formats for both require numeric data - I get a "can't put a string in a decimal" error for both.
有什么想法可以更改DataTable或DataGridView中特定行或单元格的格式吗?
Any ideas how I change the format of a particular row or cell in either the DataTable or DataGridView?
推荐答案
您可以为DataGridView的 CellFormatting
事件提供处理程序,例如:
You can provide a handler for the DataGridView's CellFormatting
event, such as:
public partial class Form1 : Form
{
DataGridViewCellStyle _myStyle = new DataGridViewCellStyle();
public Form1()
{
InitializeComponent();
_myStyle.BackColor = Color.Pink;
// We could also provide a custom format string here
// with the _myStyle.Format property
}
private void dataGridView1_CellFormatting(object sender,
DataGridViewCellFormattingEventArgs e)
{
// Every five rows I want my custom format instead of the default
if (e.RowIndex % 5 == 0)
{
e.CellStyle = _myStyle;
e.FormattingApplied = true;
}
}
//...
}
有关创建自己的样式的帮助,请参阅联机帮助中的 DataGridView.CellFormatting事件
主题。
For assistance on creating your own styles, refer to the DataGridView.CellFormatting Event
topic in the online help.
这篇关于如何在Winform DataGridView中创建不同的单元格格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!