Пользовательская кнопка на jqgrid продолжает повторять добавление при каждом вызове - asp mvc - PullRequest
0 голосов
/ 13 декабря 2011

Я добавил пользовательскую кнопку на панель инструментов в jqgrid в моей модели asp mvc, но каждый раз, когда делается вызов для получения данных из представления в контроллер (OnDataRequested), кнопка снова добавляется.Это означает, что если пять вызовов для получения данных, в jqgrid будет пять отдельных кнопок.Что я делаю не так?

Вот мой код.Спасибо.

public virtual ActionResult Index()
        {
            var gridModel = new LibraryGridModel();
             SetupGrid(gridModel.LibraryGrid);
             return View(gridModel);
        }

         public virtual JsonResult OnDataRequested()
        {
             var gridModel = new LibraryGridModel();
              return gridModel.LibraryGrid.DataBind(GetFullLibrary().AsQueryable());
        }

     public void SetupGrid(JQGrid grid)
        {
            grid.DataUrl = Url.Action("OnDataRequested","Library");
            grid.MultiSelect = true;
            grid.MultiSelectMode = MultiSelectMode.SelectOnCheckBoxClickOnly;
        }

Сетка сетки = new {ToolBarSettings = {ShowRefreshButton = true, ShowSearchButton = true, ShowSearchToolBar = true, ToolBarAlign = ToolBarAlign.Left, CustomButtons = new List {новый JQGridTutolB)Библиотека ", ToolTip =" Добавить выбранный сеанс в мой ", ButtonIcon =" ui-icon-plusthick ", Position = ToolBarButtonPosition.Last, OnClick =" AddMultipleSessionsToLibrary ",}}},

Я добавляюпользовательская кнопка в моем классе LibraryGrid.Спасибо за помощь.

1 Ответ

0 голосов
/ 13 декабря 2011

Сначала удалите пользовательскую кнопку из вашей GridModel. Затем добавьте его только в вызове действия index.
Модель:

Grid grid = new{ ToolBarSettings = { ShowRefreshButton = true, ShowSearchButton = true, ShowSearchToolBar = true, ToolBarAlign = ToolBarAlign.Left }},

Контроллер:

public virtual ActionResult Index()
            {
                var gridModel = new LibraryGridModel();
                gridModel.ToolBarSettings.CustomButtons.Add(
                     new JQGridToolBarButton
                     {
                         Text = "Add to Library",
                         ToolTip = "Add the selected session to mine",
                         ButtonIcon = "ui-icon-plusthick",
                         Position = ToolBarButtonPosition.Last,
                         OnClick = "AddMultipleSessionsToLibrary"
                     }
                 );
                 SetupGrid(gridModel.LibraryGrid);
                 return View(gridModel);
            }
         public virtual JsonResult OnDataRequested()
        {
             var gridModel = new LibraryGridModel();
              return gridModel.LibraryGrid.DataBind(GetFullLibrary().AsQueryable());
        }

 public void SetupGrid(JQGrid grid)
    {
        grid.DataUrl = Url.Action("OnDataRequested","Library");
        grid.MultiSelect = true;
        grid.MultiSelectMode = MultiSelectMode.SelectOnCheckBoxClickOnly;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...