我在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]";
但它没有效果。
请帮忙。
答案 0 :(得分:0)
最后我解决了它,问题是在devexpress文档中没有很好地解释Unbound Column功能
第一:
c.FieldName = "ClientFinalUnbound";
属性FieldName必须是唯一的,它只是列的名称,而不是相关实体中现有字段的映射(网格中显示的那个)。
第二:
c.UnboundExpression = "[ClientFinal.Prenom] + ' ' + [ClientFinal.Nom]";
在未绑定的表达式中,字段必须是现有的(在实体定义中列为属性,在实体定义中列为属性的子元素),所以这里我调用ClientFinal属性的Prenom(或Nom)属性在RendezVous实体中(网格中显示的实体)。
由于