[英]Concatenate fields in Grid using Kendo UI asp.net mvc
我是使用Kendo-UI並嘗試將數據從實體加載到Grid的ASP.NET MVC的新手。 有沒有一種方法來連接列中的兩個字段?
@(Html.Kendo().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.employeeId).Title("ID");
columns.Bound(p => p.firstname +" "+p.lastname).Title("Name");
})
.Pageable()
.Sortable()
.Scrollable(scr=>scr.Height(430))
.Filterable()
.DataSource(datasource => datasource
.Ajax()
.PageSize(20)
.ServerOperation(false)
)
我嘗試了此解決方案,但出現錯誤。
{"Bound columns require a field or property access expression."}
您可以使用行模板功能來實現它。 請在下面找到該代碼段,並在此處查看完整的演示。
@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.EmployeeViewModel>()
.Name("grid")
.HtmlAttributes(new { style = "width: 750px;height:430px;" })
.Columns(columns =>
{
columns.Template(e => { }).ClientTemplate(" ").Width(140).Title("Picture");
columns.Bound(e => e.Title).Width(400).Title("Details");
columns.Bound(e=> e.EmployeeID).Title("ID");
})
.ClientRowTemplate(
"<tr data-uid='#: uid #'>" +
"<td class='photo'>" +
"<img src='" + Url.Content("~/Content/web/Employees/") +"#:data.EmployeeID#.jpg' alt='#: data.EmployeeID #' />" +
"</td>" +
"<td class='details'>" +
"<span class='title'>#: Title #</span>" +
"<span class='description'>Name : #: FirstName# #: LastName#</span>" +
"<span class='description'>Country : #: Country# </span>" +
"</td>" +
"<td class='employeeID'>" +
"#: EmployeeID #" +
"</td>" +
"</tr>"
)
.Scrollable()
)
實現目標的一種方法是通過在模型中創建一個Name屬性,而只需一個將名和姓連接在一起的吸氣劑,如下所示
public string Name { get { return string.Format("{0} {1}", firstname, lastname); } }
然后,您可以將Name綁定到網格,就像這樣
columns.Bound(p => p.Name);
你應該很好...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.