[英]How to combine more than one field in a column in DevExpress MVC?
我想在一个列中组合多个字段。 像一个人的两个名字(第一个和最后一个)。 是否可以在DevExpress MVC GridView上进行,而无需更改DB query
?
这是我在部分视图中的代码 -
settings.Columns.Add("CompanyName");
// I need to combine NurseFirstName and NurseLastName into one column and name as NurseName
settings.Columns.Add("NurseFirstName");
settings.Columns.Add("NurseLastName");
TIA。
您需要使用DataItemTemplate将值组合到网格上的一个单元格中。 就像是:
settings.Columns.Add(c =>
{
c.Caption = "Nurse Name";
c.SetDataItemTemplateContent(t =>
{
Html.DevExpress().Label(
l => {
l.Text = String.Format("{0} {1}", DataBinder.Eval(t.DataItem, "NurseFirstName"), DataBinder.Eval(t.DataItem, "NurseLastName"));
}).Render();
});
});
这是一个更强大的解决方案,不会弄乱模板:
// Add column
settings.Columns.Add(column =>
{
column.FieldName = "FullName";
column.Caption = "Full Name";
column.UnboundType = DevExpress.Data.UnboundColumnType.String;
});
// Add the combined values to the column
settings.CustomUnboundColumnData = (sender, e) =>
{
if (e.Column.FieldName == "FullName")
{
string fName = (string)e.GetListSourceFieldValue("FirstName");
string lName = (string)e.GetListSourceFieldValue("LastName");
e.Value = string.Format("{0} {1}", fName, lName);
}
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.