【问题标题】:jqgrid inline edit is only functional oncejqgrid 内联编辑只能运行一次
【发布时间】:2012-09-10 22:06:15
【问题描述】:

我的 jqgrid 内联编辑最初可以工作,但在第一次编辑后,编辑的行变得不可点击并变成灰色。我怎样才能使它可以多次编辑同一行?

jQuery(document).ready(function(){
var lastsel;
var grid = jQuery("#list").jqGrid({

    url:'uploads/get_data.xml',
    datatype: 'xml',
    mtype: 'GET',
    colNames:['id', 'IRD', 'DLN', 'Start day', 'Start month', 'Start Year', 'End day', 'End month', 'End year', 'Sales', 'Zerorated', 'Debit adjust', 'Purchases', 'Credit adjust'],
    colModel:[
        {name: 'id', index: 'id', hidden: true, editable: false },
        {name: 'irdnum', index: 'irdnum', width: 150, editable: true, editrules:{ number:true },search:true, stype: 'text' },
        {name: 'dln', index: 'dln', width: 150, editable: true },
        {name: 'gstperiodstarting_day', index: 'gstperiodstarting_day', width: 20, editable: true, editrules:{ number:true } },
        {name: 'gstperiodstarting_month', index: 'gstperiodstarting_month', width: 20, editable: true, editrules:{ number:true } },
        {name: 'gstperiodstarting_year', index: 'gstperiodstarting_year', width: 50, editable: true, editrules:{ number:true } },
        {name: 'gstperiodending_day', index: 'gstperiodending_day', width: 20, editable: true, editrules:{ number:true } },
        {name: 'gstperiodending_month', index: 'gstperiodending_month', width: 20, editable: true, editrules:{ number:true } },
        {name: 'gstperiodending_year', index: 'gstperiodending_year', width: 50, editable: true, editrules:{ number:true } },
        {name: 'sales', index: 'sales', width:100, editable: true, editrules:{ number:true } },
        {name: 'zerorated', index: 'zerorated', width: 100, editable: true, editrules:{ number:true } },
        {name: 'debitadjust', index: 'debitadjust', width: 100, editable: true, editrules:{ number:true } },
        {name: 'purchases', index: 'purchases', width:100, editable: true, editrules:{ number:true } },
        {name: 'creditadjust', index: 'creditadjust', width: 100, editable: true, currency: true, editrules:{ currency:true } }
    ],
    pager: '#pager',
    rowNum:50,
    rowList:[50,100,200],
    sortname: 'created_at',
    sortorder: 'asc',
    viewrecords: true,
    height: 500,
    scrollrows: true,
    rownumbers: false,
    caption: 'Uploaded Data',
    editurl: 'uploads/set_data.xml',

    onSelectRow: function(id){
        if(id && id!==lastsel){
            $('#list').restoreRow(lastsel);
            $('#list').editRow(id,true);
            lastsel=id;

        }
    },
});
jQuery('#list').navGrid('#pager',
    {view:true, edit:false, del:true, search:false, refresh:true, add:true},{closeAfterAdd: true},{},{},{closeAfterSearch: true}, {}) 

jQuery('#list').navButtonAdd('#pager', {caption:"", title:"Toggle Search Toolbar", buttonicon :'ui-icon-search', onClickButton:function(){ grid[0].toggleToolbar() } })
grid.filterToolbar();grid[0].toggleToolbar()

我在想也许我需要在编辑后重新加载整个网格?这行得通吗?我该怎么做?

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    我认为你应该写:

       onSelectRow: function(id){
           if(id && id!==lastSel){ 
              $('#list').restoreRow(lastSel); 
              lastSel=id; 
           }
           $('#list').editRow(id, true); 
       },
    

    【讨论】:

      猜你喜欢
      • 2012-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      • 1970-01-01
      相关资源
      最近更新 更多