DevExpress gridLookUpEdit的多列默认值

时间:2016-05-27 14:28:32

标签: c# .net devexpress

我正在使用DevExpress 15.2的gridLookUpEdit来显示数据。我已经解决了以这种方式显示多列选定值的问题。

 private void gridLookUpEdit_CustomDisplayText(object sender, DevExpress.XtraEditors.Controls.CustomDisplayTextEventArgs e)
    {
        GridLookUpEdit edit = sender as GridLookUpEdit;
        int theIndex = edit.Properties.GetIndexByKeyValue(edit.EditValue);
        if (edit.Properties.View.IsDataRow(theIndex))
        {
            someObject row = (someObject)edit.Properties.View.GetRow(theIndex);
            e.DisplayText = row.value1 + ":    " + row.value2 + " " +row.value3;
        }
    }

正如您所看到的,我正在使用3个不同的单元格值来附加自定义显示文本。我想对默认值做同样的事情。加载后我想在这个模式中显示第一个可能的行。 我知道,我可以通过这种方式获得第一排:

gridLookUpEdit1.EditValue = gridLookUpEdit1.Properties.GetKeyValue(0);

我应该以任何提到的事件来调用吗?有没有有效的方法来解决它?

问候。

1 个答案:

答案 0 :(得分:0)

自定义显示文字未显示在加载中,因为gridLookUpEdit.Properties.View在加载时没有显示DataSource, 您有2个解决方案可以检查:

1-在选择默认值之前将DataSource分配到gridLookUpEdit.Properties.View.GridControl.BindingContext = new BindingContext(); gridLookUpEdit.Properties.View.GridControl.DataSource = gridLookUpEdit.Properties.DataSource; gridLookUpEdit.EditValue = gridLookUpEdit.Properties.GetKeyValue(0); ,如下所示:

CustomDisplayText

2 - 您可以更改private void gridLookUpEdit_CustomDisplayText(object sender, DevExpress.XtraEditors.Controls.CustomDisplayTextEventArgs e) { GridLookUpEdit edit = sender as GridLookUpEdit; int theIndex = edit.Properties.GetIndexByKeyValue(edit.EditValue); if (theIndex >= 0) { DataRowView row = (DataRowView)edit.Properties.GetRowByKeyValue(edit.EditValue); e.DisplayText = row[0].ToString() + ": " + row[1].ToString() + " " + row[2].ToString(); } } 事件中的代码:

{{1}}