Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Infragistics 在XamDataGrid的单元格输入上初始化记录_Infragistics_Xamdatagrid - Fatal编程技术网

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

Infragistics 在XamDataGrid的单元格输入上初始化记录,infragistics,xamdatagrid,Infragistics,Xamdatagrid,假设我们有一个包含10列的XamDataGrid 列1是绑定到模型中集合的XamComboEditor 这是无法更改的,数据来自服务器,组合的集合基于模型中的不同选择,因此非常动态 第2-10列只是普通的字母数字字段 问题是: 输入字母数字并开始键入时,模型已初始化,一切正常。但是,如果转到最后一行,即未初始化的空行,并在将任何数据输入任何其他字段之前单击组合编辑器,则组合编辑器为空 现在我很清楚为什么会发生这种情况,很明显这是由于模型还没有初始化。我只是不确定解决这个问题的最佳方法 我希望

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

列1是绑定到模型中集合的XamComboEditor

  • 这是无法更改的,数据来自服务器,组合的集合基于模型中的不同选择,因此非常动态
第2-10列只是普通的字母数字字段

问题是:

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

现在我很清楚为什么会发生这种情况,很明显这是由于模型还没有初始化。我只是不确定解决这个问题的最佳方法

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

有以下活动:

  • EditModeStarting
  • editMatted
  • 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">