Asp.net-Mvc
ASP NET MVC 劍道網格和列名
我有帶有欄位的 sql 表:Id、Field1、Field2、Field3、Field4、Field5,我還有其他帶有 f1、f2、f3、f4、f5 列的表,該表只有一行包含以下數據:程式碼、供應商、模型,年份、價格
我的項目中有這個模型
public class Products { [ScafoldColumn(false)] public Guid Id{get;set;} public string Field1{get;set;} public string Field2{get;set;} public string Field3{get;set;} public string Field4{get;set;} public string Field5{get;set;} }而且我希望我的劍道網格顯示列標題不像Field1 …但是像表2中的數據(程式碼,供應商,型號,年份,價格)我如何從表中載入這些數據並設置為劍道網格列標題?
我不確定您的要求是否可以完成。但是 Kendo Grid 有一個 title 屬性,因此您可以將 Header 設置為您喜歡的任何內容。
@(Html.Kendo().Grid<OMSWeb.Models.OrderGridViewModel>() .Name("grid") .HtmlAttributes(new { style = "width:115%;font-size:10px;line-height:2em" }) .Columns(columns => { columns.Bound(m => m.AdvertiserName).Title("Advertiser Name"); }); etc.
你實際上不能做你正在嘗試的事情。你可以像下面這樣綁定你的模型並使用 Title() 作為#C Sharper 說的:
@(Html.Kendo().Grid<Models.Products>() .Name("YourReportName") .Resizable(resizing => resizing.Columns(true)) .Columns(columns => { columns.Bound(p => p.ID).Width(50).Title("ID"); columns.Bound(p => p.Field1).Width(50).Title("f1"); columns.Bound(p => p.Field2).Width(50).Title("f2"); columns.Bound(p => p.Field3).Width(50).Title("f3"); columns.Bound(p => p.Field4).Width(50).Title("f4"); columns.Bound(p => p.Field5).Width(50).Title("f5"); }) .Scrollable() .DataSource(dataSource => dataSource.Ajax() .Read(read => read.Action("GetModelData", "Home"))) .Pageable(pager => pager.Refresh(true)) .Sortable() )如果您將網格與 js 綁定並接受 JSon,並且如果您希望列名應該是數據庫驅動的,那麼這應該是可以實現的。在後面的程式碼中,您只需使用**JsonConvert.SerializeObject(Products); 將對象轉換為 json;**並從數據庫中獲取所需的列名,將“Field1”、“Field2”等替換為“f1”、“f2”等。希望這會有所幫助。如果您需要進一步的幫助,請發表評論。謝謝。