jqGrid从4.4.2升级到4.10分组问题

时间:2015-11-26 16:35:49

标签: jquery jqgrid

对原始代码没有任何更改我似乎遇到内联编辑问题:

  1. 在我的数据库中,以下字段是varchar,但似乎网格不允许在其中保存任何文本:
  2. {name:'Sales Text',index:'sales_txt', width:60, sortable:false, 
        edittype: 'text',
        editable:true, classes: 'red',
        cellattr: function(rowId, val, rawObject) {
                if (String(val).toLowerCase() == 'done'){
                    return 'style="color: #999"';
                }
        },
        editoptions: {
            size:9, 
            dataInit: function(el) { 
                    $(el).datepicker({ 
                        dateFormat: "d M y" 
                    });
            } 
        }
    },
    

    此字段可以包含格式15 Mar 2015的日期或文本TBA - 以前没有问题。

    1. 如果我尝试编辑一组5行中的2行 - 编辑将在组的最后一行打开,即5
    2. ondblClickRow: function (row_id) {
          if(row_id != null) {
              if(row_id !== last_selected_row) {
                  jQuery('#schedule').jqGrid('restoreRow',last_selected_row);
                  jQuery('#schedule').jqGrid('saveRow',row_id);
                  jQuery("#schedule").jqGrid('editRow',row_id, true, null, 
                      function(){ $("#schedule").trigger("reloadGrid", [{current: true}]); },
                      'xtras/schedule.php', 
                      null,{},
                      {},{}
                  );
                  last_selected_row = row_id; 
              } else {
                  last_selected_row = row_id;
              }
          } 
      },
      

      不确定为什么会这样。我试图创建一个jsfiddle,但有问题使网格读取假json数据...无论如何完整代码在这里 - http://jsfiddle.net/elen/5rzp3zzu/3/

      P.S。不确定为什么stackoverflow不保留代码格式......

1 个答案:

答案 0 :(得分:1)

每个输入项(来自服务器响应)都包含唯一ID ,这一点非常重要。如果将ID保存在某些列中,则可以在列中使用key: true属性。它通知jqGrid将网格中每一行的id属性(每个<tr>元素)分配给该列的值。

此外,在name中使用唯一colModel值非常重要,match_res = Profile.objects.filter(portfolio__portfolio='portfoliofilter') 不包含任何空格。这些名称将用于构建搜索字段和编辑字段的ID,但HTML5不允许在ID中使用空格。请参阅herehere

  

id属性指定其元素的唯一标识符(ID)。

     

该值必须在元素主页中的所有ID中唯一   子树,必须包含至少一个字符。值不得   包含任何空格字符