0

すべてのテーブル データを (Entity Framework を使用して) 表示したい Devexpress GridView を含むページが 1 つあります。

最初のページの読み込みですべてのデータが表示されますが、私の Devexpress GridView は並べ替えやフィルタリングを行いません。:(

以下は私のコードです:

私のコントローラー

public class MenuController : Controller
    {
        private AcessoEntities db = new AcessoEntities();

        public ActionResult Index()
        {
            var menu = db.MENU.Include(m => m.MENU2);
            return View(menu.ToList());
        }
}

これは私の見解です:

@Html.DevExpress().GridView(
        s =>
        {
            s.Name = "Lista";
            s.KeyFieldName = "Id";

            s.Settings.ShowFilterRow = true;

            s.Columns.Add("Nome");
            s.Columns.Add("MENU2.Nome", "Meu pai").SortOrder = DevExpress.Data.ColumnSortOrder.Ascending;
            s.Columns.Add("Ordem_Menu", "Ordem menu");

        }).BindToLINQ(string.Empty, string.Empty, (s, e) =>
        {
            var data = new Hoya.Extranet.Interface.Models.AcessoEntities();
            e.QueryableSource = data.MENU;
        }).GetHtml()

クリックして並べ替えまたはフィルタリングすると、画像が「読み込み中」と表示され、何も起こりません...

誰かが私を助けることができますか?

4

1 に答える 1

0

Grid がコールバックしてサーバー データを取得できるように、その GridView 専用の部分ビューを作成する必要があります。そのためには、その GridView の ActionResult が必要です。

したがって、次のようにします。

部分ビューを作成し、GridView コードを内部に配置します。

次のようなものを使用して、そのGridViewへのコールバックルートも定義する必要があります(グリッドビュー定義内):

settings.CallbackRouteValues = new { Controller = "MenuController", Action = "YourPartialView" };

私の個人的なアドバイスは、View Model の概念を使用して PartialView にデータを渡すことです。

ここでその良い例を見ることもできます: http://mvc.devexpress.com/GridView/Sorting

于 2013-09-06T11:12:01.967 に答える