2
我使用的基本格式例如從jqGrid Demos時:jqGrid的基本電網例如錯誤節能新行
jQuery("#rowed1").jqGrid(
{
url : 'clientArray',
datatype : "local",
colNames : [ 'Inv No', 'Date', 'Client', 'Amount', 'Tax',
'Total', 'Notes' ],
colModel : [ {
name : 'id',
index : 'id',
width : 55,
editable : true,
key: true
}, {
name : 'invdate',
index : 'invdate',
width : 90,
editable : true
}, {
name : 'name',
index : 'name',
width : 100,
editable : true
}, {
name : 'amount',
index : 'amount',
width : 80,
align : "right",
editable : true
}, {
name : 'tax',
index : 'tax',
width : 80,
align : "right",
editable : true
}, {
name : 'total',
index : 'total',
width : 80,
align : "right",
editable : true
}, {
name : 'note',
index : 'note',
width : 150,
sortable : false,
editable : true
} ],
rowNum : 10,
rowList : [ 10, 20, 30 ],
pager : '#prowed1',
sortname : 'id',
viewrecords : true,
sortorder : "desc",
editurl : "clientArray",
caption : "Basic Example"
});
jQuery("#rowed1").jqGrid('navGrid', "#prowed1", {
edit : false,
add : false,
del : false
});
以下事件來處理編輯用戶點擊,保存和取消按鈕:
jQuery("#ed1").click(function() {
var id = jQuery('#rowed1').jqGrid('getGridParam','selrow');
jQuery("#rowed1").jqGrid('editRow', id);
this.disabled = 'true';
jQuery("#sved1,#cned1").attr("disabled", false);
});
jQuery("#sved1").click(function() {
var rowid = jQuery('#rowed1').jqGrid('getGridParam','selrow');
alert('id: ' + rowid);
jQuery("#rowed1").jqGrid('saveRow', rowid , false);
jQuery("#sved1,#cned1").attr("disabled", true);
jQuery("#ed1").attr("disabled", false);
jQuery("#aded1").attr("disabled", false);
});
jQuery("#cned1").click(function() {
var id = jQuery('#rowed1').jqGrid('getGridParam','selrow');
jQuery("#rowed1").jqGrid('restoreRow', id);
jQuery("#sved1,#cned1").attr("disabled", true);
jQuery("#ed1").attr("disabled", false);
jQuery("#aded1").attr("disabled", false);
});
jQuery("#aded1").click(function() {
jQuery("#rowed1").jqGrid('addRow', 'new');
this.disabled = 'true';
jQuery("#sved1,#cned1").attr("disabled", false);
});
和按鈕的HTML:
<input type="BUTTON" id="aded1" value="Add Row" />
<input type="BUTTON" id="ed1" value="Edit row 3" />
<input type="BUTTON" id="sved1" disabled='true' value="Save row 3" />
<input type="BUTTON" id="cned1" disabled='true' value="Cancel Save" />
但網格工作不正常因爲... e:
- 保存一個新行後,它保持選中狀態,我無法選擇其他。
- 當我取消某行的編輯時,它刪除了其他幾行。
- 當我點擊了第二次 中添加新行按鈕,谷歌Chrome調試器控制檯顯示錯誤:遺漏的類型錯誤:未定義
無法讀取屬性「名」,我幾乎可以肯定,它有與新的行ID有關,但經過2天的嘗試,我會感謝一點幫助,在此先感謝
Thnks賈斯汀。仍然只是正確添加第一行,然後我嘗試添加一個新的並不保存。我嘗試使用undefined,但我不太明白在哪裏使用它,我設置了rowid:undefined,但它沒有工作。 –
你能發佈你的新代碼嗎? –
**要添加新行:**'的jQuery( 「#aded1」)點擊(函數(){ \t \t參數= \t \t { \t \t ROWID: 「NEW_ROW」, \t \t initdata:{} , \t \t位置: 「第一」, \t \t useDefValues:假, \t \t useFormatter:假, \t \t addRowParams:{extraparam:{}} \t \t} \t \t jQuery(「#rowed1」)。jqGrid('addRow',parameters); \t});'**對於節省:**'的jQuery( 「sved1」)點擊(函數(){ \t \t \t 變種\t ROWID = jQuery的( '#rowed1')。的jqGrid( 'getGridParam', 'selrow'); (「#rowed1」)。jqGrid('saveRow',rowid); \t \t});' –