I use DevExpress v10.2.3 grouping GridView with asp.net MVC 4. I can get data from database and show them.
But I can't change any constraint. For example: sort by column. When I clicked to sort I get following pop up page.This page is opened When I every click to fire script. Any idea about this? May be this is an easy error, but I cant see it.
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()
View
@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>
<input type="button" value="Collapse All Rows" onclick="gvGrouping.CollapseAll();" />
<input type="button" value="Expand All Rows" onclick="gvGrouping.ExpandAll();" />
<br /><br />
@Html.Partial("_PartialCustomers", Model)
This issue is caused for either of the following reasons:
The GridView Extension defined in a separate PartialView contains additional tags;
The Action specified within the CallbackRouteValues.Action property is implemented incorrectly (should return the PartialView with the GridView).