初始化XamDataGrid的单元格输入记录

时间:2015-04-15 11:24:54

标签: infragistics xamdatagrid

假设我们有一个包含10列的XamDataGrid。

第1列是绑定到模型

中集合的XamComboEditor
  • 这不能更改,数据来自服务器,而组合的集合基于模型中的不同选择,因此它非常动态。

第2-10列只是正常的字母数字字段

问题:

当您输入字母数字并开始输入时,模型已初始化,一切正常。但是,如果您转到最后一行,即未初始化的空行,并在将任何数据输入任何其他字段之前单击组合编辑器,则组合编辑器为空。

现在我很清楚为什么会发生这种情况,很明显这是因为模型尚未初始化。我只是不确定解决此问题的最佳方法。

我希望XamDataGrid上有一个属性可以在记录初始化时进行调整,但是我已经搜索了Infragistics文档和示例,但我找不到任何内容。

1 个答案:

答案 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">