2012-07-03 5 views
0

Я использую DevExpress v10.2.3 группировку gridview с asp.net mvc 4. Я могу получить данные из базы данных и показать их. Но я не могу изменить ограничение ant, например: sort by column. Когда я щелкнул, чтобы отсортировать, я получаю следующую всплывающую страницу. Эта страница открыта. Когда я каждый раз запускаю сценарий. Есть идеи об этом? Может быть, это простая ошибка, но я не могу ее видеть.DevExpress gridview gruping?

Спасибо.

enter image description here

PartialView

@Html.DevExpress().GridView(
settings => 
{ 
    settings.Name = "gvGrouping"; 
    settings.CallbackRouteValues = new { Controller = "Customer", Action = "PartialCustomers" }; 
    settings.Width = System.Web.UI.WebControls.Unit.Percentage(100); 

    settings.Columns.Add("sno"); 
    settings.Columns.Add("Name"); 
    settings.Columns.Add("City"); 
    settings.Columns.Add("Ilce"); 
    settings.Columns.Add("Sokak").GroupIndex = 0; 

    settings.Settings.ShowGroupPanel = true; 

    settings.CustomCallback = (sender, e) => 
    { 
     int layoutIndex = Int32.Parse(e.Parameters); 
     DevExpress.Web.Mvc.MVCxGridView grid = (DevExpress.Web.Mvc.MVCxGridView)sender; 

     grid.BeginUpdate(); 
     try 
     { 
      grid.ClearSort(); 
      switch (layoutIndex) 
      { 
       case 0: 
        grid.GroupBy(grid.Columns["Sokak"]); 
        break; 
       case 1: 
        grid.GroupBy(grid.Columns["Sokak"]); 
        grid.GroupBy(grid.Columns["City"]); 
        break; 
       case 2: 
        grid.GroupBy(grid.Columns["Name"]); 
        break; 
      } 
     } 
     finally 
     { 
      grid.EndUpdate(); 
     } 
     grid.ExpandAll(); 
    }; 
}).Bind(Model).GetHtml() 

Посмотреть

@model IEnumerable<mvc4devex.Models.Customers> 
@{ 
    ViewBag.Title = "Customers"; 
} 


<label for="GroupBy">GroupBy:</label> 
<select id="GroupBy" onchange="gvGrouping.PerformCallback(this.value);"> 
    <option value="0">Sokak</option> 
    <option value="1">Sokak, City</option> 
    <option value="2">Name</option> 
</select> 
&nbsp; 
<input type="button" value="Collapse All Rows" onclick="gvGrouping.CollapseAll();" /> 
&nbsp; 
<input type="button" value="Expand All Rows" onclick="gvGrouping.ExpandAll();" /> 
<br /><br /> 
@Html.Partial("_PartialCustomers", Model) 
+1

settings.CallbackRouteValues ​​= new {Controller = "Customer", Action = "PartialCustomers"}; <- PartialCustomers возвращают PartialView? (он должен в значительной степени быть тем же самым методом, который вы используете для своего индекса) –

+0

Я решил его поблагодарить за внимание. Я использовал view inftead of partial. Я изменил это . Спасибо, много. –

+0

Это глупая ошибка :) –

ответ

2

Эта проблема вызвана для любого из следующих причин:

  • GridView Экстен sion, определенный в отдельном PartialView, содержит дополнительные теги;

  • Действие, указанное в свойстве CallbackRouteValues.Action, выполняется неправильно (должно возвращать PartialView с GridView).

+0

Спасибо. –

Смежные вопросы