我的应用程序中有一列充满了像这样的Object:

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


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

MyAppli.DataModel.EmplPoco


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

编辑

我的专栏类型是

DevExpress.XtraGrid.Columns.GridColumn


dev express版本是12.1

最佳答案

尝试在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
    }
}

关于c# - 更改GridColumn的显示值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20046980/

10-17 02:31