假设我们有一个包含10列的XamDataGrid。
第1列是绑定到模型
中集合的XamComboEditor第2-10列只是正常的字母数字字段
问题:
当您输入字母数字并开始输入时,模型已初始化,一切正常。但是,如果您转到最后一行,即未初始化的空行,并在将任何数据输入任何其他字段之前单击组合编辑器,则组合编辑器为空。
现在我很清楚为什么会发生这种情况,很明显这是因为模型尚未初始化。我只是不确定解决此问题的最佳方法。
我希望XamDataGrid上有一个属性可以在记录初始化时进行调整,但是我已经搜索了Infragistics文档和示例,但我找不到任何内容。
答案 0 :(得分:0)
有以下活动:
EditModeStarting
EditModeStarted
EditModeEnding
EditModeEnded
private void OnCellEditModeStarting(object sender, EditModeStartingEventArgs args)
{
if (args.Cell.Field.Name == "TotalQuantity")
{
DataRecord record = args.Cell.Record;
if (record == null)
return;
MyGridEntry item = record.DataItem as MyGridEntry;
// Do a thing
}
}
您还可以回复InitializeRecord
事件。它可能由于多种原因而触发,例如单元格编辑,因此在响应时检查行模型的状态。所有这些事件都在父网格上,而不是任何FieldLayouts或Fields。
<i:XamDataGrid x:Name="myGrid"
InitializeRecord ="OnInitializeRecord"
EditModeStarting ="OnEditModeStarting">