2010-06-02 64 views
3

序號列,我可以創建一個網格Telerik的MVC創建Telerik的MVC電網

<% Html.Telerik().Grid(Model) 
    .Name("ProductGrid") 
    .Columns(columns => { 
         columns.Bound(h => h.ProductName).Width("34%"); 
         columns.Bound(h => h.Description).Width("60%"); 
         columns.Bound(h => h.ProductID).Format(Html.ImageLink("Edit", "Products", new { Id = "{0}" }, "/Content/images/icon_edit.gif", "", new { Id = "edit{0}" }, null).ToString()).Encoded(false).Title("").Sortable(false).Width("3%"); 
         columns.Bound(h => h.ProductID).Format(Html.ImageLink("Delete", "Products", new { Id = "{0}" }, "/Content/images/icon_delete.gif", "", new { onclick = string.Format("return confirm('Are you sure to delete this add on?');") },null).ToString()).Encoded(false).Title("").Sortable(false).Width("3%"); 
     }) 

    .EnableCustomBinding(true) 
    .DataBinding(databinding => databinding.Ajax().Select("_Index", "ProductGrid")) 
    .Pageable(settings => settings.Total((int)ViewData["TotalPages"]) 
    .PageSize(10)) 
    .Sortable() 
    .Render(); %> 

但我需要在Telerik的grid.How添加序號專欄中,我能做到這一點?

回答

0

我認爲要做到這一點的最好辦法是到的SerialNumber列添加到您的產品類,這是你的模型,並不僅僅是增加一個綁定列到網格是這樣的:

columns.Bound(h => h.SerialNumber) 

如果傳遞產品列表您可以填充的serialNumber列如下:

List<Product> products = GetList(); // Your method to get data here 
int counter = 1; 
products.ForEach(x => x.SerialNumber = counter++); 

如果你想支持分頁一致的號碼,你要計算自己counter寶貴的初始值。爲此,您必須具有當前頁面和頁面大小。

+0

感謝您reply.If蔭添加「產品」 class.How屬性「的SerialNumber」我可以增加它的每一行的值? – Jayaraj 2010-06-03 14:07:50

+0

It Works!非常感謝你。 – Jayaraj 2010-06-04 06:33:12

2

我認爲最好的方法是使用這樣的模板列。

<% 
    var sn = 0; 
    Html.Telerik().Grid(Model).Name("Grid").HtmlAttributes(new { style = "width:auto" }) 
     .EnableCustomBinding(true) 
     .Columns(columns => 
        { 
         columns.Template(c=> {%> <%: ++sn %> <% }).Title("S/N"); 
         columns.Bound(c => c.CustomerNumber); 
         columns.Bound(c => c.Narration); 
        }) 
        .Render(); %> 

這樣,您不必將序列號屬性添加到您的視圖模型。

希望得到這個幫助嗎?

0

在MVC的Web網 使用這種計算

grid.Column(header: "#", 
    format: item => item.WebGrid.Rows.IndexOf(item) + 1 + Math.Round(Convert.ToDouble(grid.TotalRowCount/grid.PageCount)/grid.RowsPerPage) * grid.RowsPerPage * grid.PageIndex),