GcMultiRow如何以行为单位来把单元格的数据反映到绑定的DataTable中
本帖最后由 aita123 于 2018-5-9 10:00 编辑GcMultiRow如何以行为单位来把单元格的数据反映到绑定的DataTable中
现在我有一个MultiRow,使用DataSource = dtYYY(DataTable)来绑定数据。
现在想实现一个功能:
如果某个单元格输入的数据不合理,就把绑定DataTable的数据还原到这个单元格
Me.gcMultiRow1(iRow, iCol).Value = dtYYY.Rows(iRow).item(iCol)
当整个行的每一个单元格的数据都合理时,就把这一行的数据反映到绑定DataTable的这一行中。
但是,现在碰到的问题是,GcMultiRow会自动的把单一单元格的内容反映到绑定的DataTable中。
请问,如何解决?
本帖最后由 AronChen 于 2018-5-24 11:27 编辑
您好,GcMultiRow提供了是否接受用户输入的事件,事件名为"CellValidating"。
在您这个需求里里可以绑定这个事件,在处理函数里决定是否接受用户输入并更新到数据源中。
示例代码:
private void GcMultiRow_CellValidating(object sender, GrapeCity.Win.MultiRow.CellValidatingEventArgs e)
{
var gcMultiRow = sender as GrapeCity.Win.MultiRow.GcMultiRow;
if (gcMultiRow == null || gcMultiRow.EditingControl == null)
{
return;
}
var oldValue = gcMultiRow.GetValue(e.RowIndex, e.CellIndex);
var newValue = gcMultiRow.EditingControl.Text;
if (newValue == "非法值")
{
gcMultiRow.EditingControl.Text = oldValue?.ToString();
e.Cancel = true;
}
}
谢谢回答
页:
[1]