jqGrid模态形式

时间:2012-08-24 01:30:11

标签: jquery jqgrid

我正在尝试使用以下功能找到jqgrid的示例。

  1. 每行上的编辑图标
  2. 每行上的删除图标(理想情况下是编辑图标的单独列)。
  3. 本地数据
  4. 模式编辑表单而不是内联编辑
  5. This示例是我见过的最接近的,但它没有1& 2。 有人能给我看一个包含所有这些功能的例子吗?

1 个答案:

答案 0 :(得分:0)

好的,所以我觉得你有像这样的colNames,例如

['姓名','公司','编辑','删除']

现在,在您想要自定义编辑按钮的每一行的编辑列中,与删除相同,对吧?

我要编写自定义按钮的代码,如果你不想要自定义按钮,那么你可以去action formatter。为此,我也会写代码。

自定义编辑和删除按钮位于单独的列中。

function callMeOnLoadComplete(){
 var iCol = getColumnIndexByName(grid,'Edit'); // 'Edit' - name of the actions column
         grid.children("tbody")
                .children("tr.jqgrow")
                .children("td:nth-child("+(iCol+1)+")")
                .each(function() {
                 $("<div>",
                        {
                            title: "Save",
                            mouseover: function() {
                                $(this).addClass('ui-state-hover');
                            },
                            mouseout: function() {
                                $(this).removeClass('ui-state-hover');
                            },
                            click: 
                            do sth
                            }
                      ).css({"margin-left": "5px", float:"left"})
                       .addClass("ui-pg-div ui-inline-save")
                       .attr('id',"saveEdits")
                       .append('<span class="ui-button-icon-primary ui-icon ui-icon-disk"></span>')
                       .appendTo($(this).children("div"));

}

在jqgrid的loadComplete或gridComplete参数中调用上述函数。这对于编辑列,同样也可以用于删除列。

 var getColumnIndexByName = function(grid,columnName) {
                var cm = grid.jqGrid('getGridParam','colModel'), i=0,l=cm.length;
                for (; i<l; i+=1) {
                    if (cm[i].name===columnName) {
                        return i; // return the index
                    }
                }
                return -1;
            };

我假设你有jquery自定义ui.css,因为这些图标将从图像中随之拾取。

Edit and Delete Button with action formatter

使用colModal,对于Edit Column,请执行以下操作。

{ name: 'Edit', index: 'Edit', formatter: 'actions',formatoptions: {keys: true,delbutton:false}}

我给delbutton的原因:false因为你想要删除列中的删除按钮。如果你想要它在同一列中,删除这个属性,否则你也可以在Delete列中使用相同的动作格式化器,并在那里make editbutton:false。