【发布时间】:2014-10-23 14:40:21
【问题描述】:
我有一个数据网格视图,其中一列是颜色列。我想确保用户输入有效的颜色,否则将单元格留空。
当单元格从空白开始时,以下代码给了我一个空引用异常。仅供参考,我在 CellLeave 活动中这样做。
Answer 我不得不将代码移至 CellFormatting 事件。由于某种原因,单元格的值直到某个未知点才会更新。对于我的检查,我需要在 CellFormatting 事件中执行某些操作之前执行此操作。将代码移到那里解决了我的问题。
private void dataGridView1_CellFormatting(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex.Equals(2))
{
Regex test = new Regex("[0-255],[0-255],[0-255]");
Match m = test.Match(this.dataGridView1.CurrentCell.Value.ToString());
if(!m.Success)
{
this.dataGridView1.CurrentCell.Value = "";
}
}
}
【问题讨论】:
-
您考虑过使用颜色对话吗?
-
我使用它作为用户选择颜色的第二种方式。我还希望他们能够输入他们选择的(数字)颜色。
-
请看下面的my answer,我在其中展示了如何在 CellParsing 事件处理程序中正确更新单元格的值。
标签: c# .net regex string datagridview