2010-06-02 2 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 Iam добавив свойство «SerialNumber» в class.How «Продукт» можно увеличивать его значение для каждой строки? – Jayaraj

+0

Это работает! Большое спасибо. – Jayaraj

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), 
Смежные вопросы