GridView 未绑定列错误

GridView Unbound Column Error


我在 DevExpress 中使用 ASP.NET MVC,我在视图中插入了一个 gridview(自动生成的部分和东西),我想在其中添加一个未绑定的列。

@{
    var grid = Html.DevExpress().GridView(settings =>
    {
        //configuration code and other columns
        settings.Columns.Add(c =>
        {
            c.FieldName = "ClientFinal";
            c.Caption = "Client Final";
            c.UnboundType = DevExpress.Data.UnboundColumnType.String;
            c.UnboundExpression = "[Prenom] + ' ' + [Nom]";
        });
//configuration code
    });
}
@grid.Bind(Model).GetHtml()

ClientFinal 实体:

public class ClientFinal : XPObject
    {
        public ClientFinal(Session session) : base(session) { }
        public override void AfterConstruction() { base.AfterConstruction(); }

        private string nom;
        public string Nom
        {
            get { return nom; }
            set { SetPropertyValue<string>("Nom", ref nom, value); }
        }

        private string prenom;
        public string Prenom
        {
            get { return prenom; }
            set { SetPropertyValue<string>("Prenom", ref prenom, value); }
        }
//other attributes
    }

结果:

我什至试过了:c.UnboundExpression = "[ClientFinal.Prenom] + ' ' + [ClientFinal.Nom]";但是没用。

请帮忙。


最后我解决了,问题是在devexpress文档中没有很好地解释Unbound Column功能。
第一:

c.FieldName = "ClientFinalUnbound";

属性 FieldName 必须是唯一的,它只是列的名称,而不是相关实体(网格中显示的那个)中现有字段的映射。

第二个:

c.UnboundExpression = "[ClientFinal.Prenom] + ' ' + [ClientFinal.Nom]";

在未绑定的表达式中,字段必须是现有字段(列为实体定义中的属性或实体定义中属性的子元素),所以这里我调用 Prenom(或 Nom)属性 RendezVous 实体中的 ClientFinal 属性(显示在网格中的实体)。

谢谢