方案一,通过处理DataError事件,可以让MultiRow在这种情况下不要弹出警告框。这个行为和微软的DatGridView是一致的。你也可以在这个事件里修改Cell的Value。
void gcMultiRow1_DataError(object sender, DataErrorEventArgs e)
{
e.ThrowException = false;
}
方案二,处理CellFormatting事件。这个事件在每个Cell要刷新之前触发,在这个事件里可以修正Cell的Value。
void gcMultiRow1_CellFormatting(object sender, CellFormattingEventArgs e)
{
if (e.CellIndex == 4 && e.Value != null)
{
int i = (int)e.Value;
if (i < 1)
{
e.Value = 1;
}
if (i > 10)
{
e.Value = 10;
}
}
} |