0
我有一個可編輯的網格。當網格加載時,我希望特定列 的所有單元處於編輯模式,即準備好數據捕獲。我試過這個,但它只把最後一個單元格 置於編輯模式。我怎樣才能做到這一點?如何在jqgrid中啓用所有單元格的編輯單元格
function doGridComplete()
{
var ids = $("#myGrid").jqGrid('getDataIDs');
var grid = $("#myGrid");
var marksColIdx = getColumnIndexByName(grid, 'marksObtained');
var rowId = 1;
for(var i = 0; i < ids.length; i++)
{
//Edit all cells
grid.jqGrid('editCell', rowId, marksColIdx, true);
rowId++;
}
}
var getColumnIndexByName = function(gr,columnName) {
var cm = gr.jqGrid('getGridParam','colModel');
for (var i=0,l=cm.length; i<l; i++) {
if (cm[i].name===columnName) {
return i; // return the index
}
}
return -1;
};
我調用該函數doGridComplete()
在loadComplete
即 loadComplete : doGridComplete
你是對的。我希望用戶能夠靈活地爲所有單元格同時輸入所有值,以便我可以一次手動提交所有值。我的一些用戶的互聯網連接性差,因此一次接一個地編輯大約100行將需要更長的時間(即100次訪問服務器),而不是一次輸入所有值並提交一次。這實際上是我這樣做的原因。請,你有什麼建議。 –
@UchennaNwanyanwu:用戶無法同時編輯多個單元格。用戶編輯一個接一個的單元格。如果您不想在修改每個單元格後進行保存,您可以使用*本地編輯*,然後將所有修改的數據發送到服務器。如果你需要本地編輯,你可以先填充* local * grid:'datatype:「local」'或'datatype:「json」'和'localonce:true'。然後你可以使用'cellsubmit:「clientArray」'(在單元格編輯的情況下)。此外,您可以提供「發送到服務器」按鈕,它可以通過'getGridParam(「data」)獲得所有本地數據*並將其發送到服務器。 – Oleg
非常感謝。我認爲這樣更好。 –