1
A
回答
0
你可以像平常一樣綁定列,但是你可以在運行時使用jquery顯示/隱藏它們。例如我必須在jqgrid中爲管理員用戶顯示鏈接列,對於需要隱藏列的普通用戶,請按以下方式執行此操作。
$("#grid").showCol("Link");
$("#grid").hideCol("Link");
$("#grid").trigger("reloadGrid");
0
JQGrid(action, caption, 920, 400, loadtext);
function columnsData(Data) {
var str = "[";
for (var i = 0; i < Data.length; i++) {
str = str + "{name:'" + Data[i] + "', index:'" + Data[i] + "', editable: true}";
if (i != Data.length - 1) {
str = str + ",";
}
}
str = str + "]";
return str;
}
function JQGrid(action, caption, width, height, loadtext) {
var grid = $("#tblGrid");
var lastsel;
var editurl = '/PayInvoice/GridSave';
$.ajax({
url: action,
dataType: "json",
mtype: 'POST',
beforeSend: function() {
$("#dvloading").show();
},
success: function (result) {
if (result) {
if (!result.Error) {
var colData = columnsData(result.column);
colData = eval('{' + colData + '}');
grid.jqGrid('GridUnload');
grid.jqGrid({
url: action,
datatype: 'json',
mtype: 'POST',
colModel: colData,
colNames: result.column,
// multiselect: true,
width: width,
height: height,
rowNum: 20,
rowList: [20, 40, 60],
loadtext: loadtext,
pager: '#tblGridpager',
sortorder: "asc",
viewrecords: true,
gridview: true,
altRows: true,
cellEdit: true,
cellsubmit: "remote",
cellurl: '/PayInvoice/GridSavecell',
beforeSubmitCell: function (id, cellname, value, iRow, iCol) {
objedit(id, cellname, value);
return { id: id, cellname: cellname, value: value, iRow: iRow, iCol: iCol };
},
afterSaveCell: function (id, cellname, value, iRow, iCol) {
objedit(id, cellname, value);
return { id: id, cellname: cellname, value: value, iRow: iRow, iCol: iCol };
},
caption: caption
});
}
}
},
error: function (xhr, ajaxOptions, thrownError) {
if (xhr && thrownError) {
alert('Status: ' + xhr.status + ' Error: ' + thrownError);
}
}, complete: function() {
$("#dvloading").hide();
}
});
}
function objedit(id, cellname, value) {
var flag = 0;
for (var i = 0; i < index; i++) {
if (obj[i][0] == id && obj[i][1] == cellname) {
obj[i] = [id, cellname, value]
flag++;
}
}
if (flag == 0) {
obj[index] = [id, cellname, value];
index++;
}
}
0
JQGrid1.Columns.FromDataField(ColumnName).Visible = false;
JQGrid1.Columns.FromDataField(ColumnName).HeaderText = "Sample";
0
在這裏,我們走;
$("#datagrid").jqGrid({
//url: "user.json",
//datatype: "json",
datatype: "local",
data: dataArray,
colNames:getColNames(dataArray[0]),
colModel:getColModels(dataArray[0]),
rowNum:100,
loadonce: true,
pager: '#navGrid',
sortname: 'SongId',
sortorder: "asc",
height: "auto", //210,
width:"auto",
viewrecords: true,
caption:"JQ GRID"
});
function getColNames(data) {
var keys = [];
for(var key in data) {
if (data.hasOwnProperty(key)) {
keys.push(key);
}
}
return keys;
}
function getColModels(data) {
var colNames= getColNames(data);
var colModelsArray = [];
for (var i = 0; i < colNames.length; i++) {
var str;
if (i === 0) {
str = {
name: colNames[i],
index:colNames[i],
key:true,
editable:true
};
} else {
str = {
name: colNames[i],
index:colNames[i],
editable:true
};
}
colModelsArray.push(str);
}
return colModelsArray;
}
相關問題
- 1. jqGrid動態列
- 2. 動態禁用jqgrid列
- 3. jqGrid動態下拉列表
- 4. jqGrid動態列和分組
- 5. jqGrid和動態列綁定
- 6. 在JQGrid中獲取動態列
- 7. 如何在jqgrid中動態添加列?
- 8. 動態檢索jqgrid的列值
- 9. 的jqGrid動態列和數據化JSON
- 10. 保存動態生成的jqgrid列
- 11. jqGrid的V4 - 動態列不工作
- 12. 的jqGrid:設定cellattr和動態數列
- 13. 問題顯示jqgrid動態列綁定
- 14. jqgrid動態列 - 顯示頁腳數據
- 15. jqgrid如何動態創建列
- 16. 如何動態地隱藏jqgrid列
- 17. 動態Jqgrid選項
- 18. 的jqGrid動態事件
- 19. beforeShowForm動態形式的jqgrid
- 20. 的jqGrid和動態分組
- 21. 設置jqGrid的ROWNUM動態
- 22. jqGrid的格式塔動態
- 23. 的jqGrid colModel動態格式
- 24. 動態退出在jqGrid的
- 25. 動態列和在jqGrid中使用下拉列表
- 26. jqGrid中的動態上下文菜單
- 27. 如何動態綁定和JqGrid中的行和列?
- 28. 如何在jqgrid中動態擴展列的級別?
- 29. jqGrid動態重新排列索引名稱的列
- 30. jqgrid列寬自動