我有一个绑定(bind)到 DataTable 的 DataGridView。
DataTable 是一个全数字值。
要求 DataGridView 中的每 n 行都包含文本,而不是数值(以便为用户在视觉上分隔部分)。
我很高兴在绑定(bind)后将此文本数据放入 DataTable 或 DataGridView 中,但我看不到将这些文本数据放入其中的方法,因为两者的列格式都需要数字数据 - 我得到一个“不能把一个字符串放在十进制中”两者的错误。
任何想法如何更改 DataTable 或 DataGridView 中特定行或单元格的格式?
最佳答案
您可以为 DataGridView 的 CellFormatting
事件提供处理程序,例如:
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 Event
主题。关于c# - 如何在 Winform DataGridView 中创建不同的单元格格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/592757/