2014-09-15 1 views
0

Как сделать редактирование в всплывающем диалоговом окне в jqgrid.В jqgrid, как редактировать строку с помощью диалога?

Ниже приведен материал jqgrid. Мне не нужно встроенное редактирование. Я хочу всплывающее диалоговое окно. Для всплывающего диалога у нас уже есть диалог, который может быть всплывающим. Для этого мне нужно вызвать функцию javascript, которая может разрешить всплывающее диалоговое окно. , пожалуйста, назовите меня, как я мог бы вызвать функцию javascript при щелчке значка редактирования?

 $('#CategoriesGrdList').jqGrid({ 
      ajaxGridOptions: { 
       error: function() { 
        $('#CategoriesGrdList')[0].grid.hDiv.loading = false; 
        alert('An error has occurred.'); 
       } 
      }, 
      url: '@Url.Action("GetAllCategoriesList", "Categories")/' + 0, 
      gridview: true, 
      autoencode: true, 
      postData: { categoryId: 1 }, 
      datatype: 'json', 
      jsonReader: { root: 'List', page: 'Page', total: 'TotalPages', records: 'TotalCount', repeatitems: false, id: 'Id' }, 
      mtype: 'GET', 
      colNames: ['Id', 'Code', 'Description', 'IsActive', "actions"], 
      colModel: [ 
        { name: 'Id', index: 'Id', hidden: false, key: true }, 
       { name: 'Code', index: 'Code', width: 170}, 
       { name: 'Description', index: 'Description', width: 170}, 
      { name: 'IsActive', index: 'IsActive', width: 170 }, 
      { 
       name: 'actions', index: 'actions', formatter: 'actions', 
       formatoptions: { 
        keys: true, 
        editbutton: true, 
        delOptions: { url: '@Url.Action("DeleteCategory", "Categories")' } 
       } 
      } 
      ], 
      pager: $('#CategoriesGrdPager'), 
      sortname: 'Code', 
      rowNum: 3, 
      rowList: [3, 6, 9], 
      width: '500', 
      height: '100%', 
      viewrecords: true, 
      multiselect: false, 
      caption: "Categories", 
      loadComplete: function() { 
       $("tr.jqgrow:odd").css("background", "#E0E0E0"); 
      }, 
      beforeSelectRow: function (rowid, e) { 
       return false; 

      }, 
      sortorder: 'desc' 
     }).navGrid('#CategoriesGrdPager', { edit: true, add: false, del: false, search: false, refresh: true }); 

Pleae guide me.

ответ

1

Чтобы сделать свои собственные действия/кнопки редактирования в JQGrid, вам нужно установить по умолчанию кнопки/действия по редактированию navGrid на false, а затем добавить пользовательские кнопки в навигационную сетку. Вот пример ниже - не забудьте удалить настройки navGrid в jqgrid прикованных функцию выше:

$('#CategoriesGrdList').jqGrid('navGrid', '#CategoriesGrdPager', { edit: false, add: false, del: false, search: false, refresh: true}) 
     .navButtonAdd('#CategoriesGrdPager', { 
      title: "Edit", 
      caption: "Edit", 
      buttonicon: "ui-icon-pencil", // JQuery UI Icon 
      onClickButton: function() { /*CALL YOUR FUNCTION HERE*/ }, 
      position: "last" // Position of the button on Nav 
     })' 
+0

Как получить ROWDATA объекта на функции onClickButton? Кроме того, моя выбранная строка не сохраняет, я могу выбрать строку, но, когда я иду на navgrid и нажимаю на кнопку редактирования, выбор исчезает. – dsi

+0

Чтобы получить значение rowid в функции onClickButton, вы можете использовать следующее: 'var rowid $ ('# CategoriesGrdList'). JqGrid ('getGridParam', 'selrow');' – stripthesoul

+0

Спасибо, но выбранная строка не сохраняется. когда я нажимаю на кнопку редактирования, затем теряю выбранную строку и даю мне нуль. – dsi

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