繁体   English   中英

如何在DevExpress MVC的列中组合多个字段?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM