更改GridColumn的显示值

时间:2013-11-18 11:46:22

标签: c# winforms devexpress

我的应用程序中有一个填充了Object的列,如下所示:

EmplPoco{
    public string Id { get; set; }
    public string Name { get; set; }
}

当我启动应用程序时,它会显示在我的网格的每一行的列的单元格中:

MyAppli.DataModel.EmplPoco

如何更改此行为并查看对象属性名称的值?

修改

我的专栏类型是

DevExpress.XtraGrid.Columns.GridColumn

开发快递版本是 12.1

2 个答案:

答案 0 :(得分:3)

尝试在EmplPoco类中覆盖.ToString函数,或者也可以使用GridView的CustomColumnDisplayText事件。

选项1:

public override string ToString()
{
    return this.Name;
}

选项2:

private void grdview_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
{
    try {
        if (e.Column.Name == MyColumn.Name && e.RowHandle >= 0) {
            e.DisplayText = ((EmplPoco)e.Value).Name;
        }
    } catch (Exception ex) {
        //Handle exception here
    }
}

选项3:

private void grdviewAllocations_CustomUnboundColumnData(System.Object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
{
    try {
        if (e.Column.Name == MyColumn.Name && e.RowHandle >= 0) {
            e.Value = ((MyObject)e.Row).EmplPoco.Name;
        }
    } catch (Exception ex) {
        //Handle exception here
    }
}

答案 1 :(得分:-1)

更改DisplayMember属性:as

DisplayMemberBinding="{Binding RowData.Row.Name}