获取repositoryItemGridLookupEdit父级';s的当前行已处理

本文关键字:处理 父级 repositoryItemGridLookupEdit 获取 | 更新日期: 2023-09-27 18:29:17

我在该Gridview中有一个Gridview和一个RepositoryItemGridLookUpEdit我想在RepositoryItemGridLookUpEdit 中显示CustomDisplayText

private void rgluePerson_CustomDisplayText(object sender, DevExpress.XtraEditors.Controls.CustomDisplayTextEventArgs e)
        {
            var person = rgluePerson.GetRowByKeyValue(e.Value) as Person;
            var name = person.Name;
            var surname = person.Surname;
            e.DisplayText = name + ", " + surname;
            }
        }

问题是人名依赖于同一行中的另一个单元格(在主Gridview中),我不知道如何处理当前的Gridview行(当前行不起作用,因为我现在需要处理该行)。。。。。。我不能使用gridView事件,因为它会更改单元格值,但我想更改Text值。有人知道怎么做吗?

获取repositoryItemGridLookupEdit父级';s的当前行已处理

您无法获取CustomDisplayText事件正在处理的行,因为没有包含当前行的字段或属性。您只能将此事件用于关注的行。为此,您必须检查发件人是否为GridLookUpEdit:类型

private void rgluePerson_CustomDisplayText(object sender, CustomDisplayTextEventArgs e)
{
    if (!(sender is GridLookUpEdit))
        return;
    var anotherCellValue = gridView1.GetFocusedRowCellValue("AnotherCellFieldName");
    //Your code here
    e.DisplayText = yourDisplayText;        
}

对于未聚焦的行,只能使用ColumnView.CustomColumnDisplayText事件:

private void gridView1_CustomColumnDisplayText(object sender, CustomColumnDisplayTextEventArgs e)
{
    if (e.Column.ColumnEdit != rgluePerson)
        return;
    var anotherCellValue = gridView1.GetListSourceRowCellValue(e.ListSourceRowIndex, "AnotherCellFieldName");
    //Your code here
    e.DisplayText = yourDisplayText; 
}