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的V4 - 动态列不工作
- 6. 保存动态生成的jqgrid列
- 7. 的jqGrid动态列和数据化JSON
- 8. 问题显示jqgrid动态列绑定
- 9. 动态Jqgrid选项
- 10. 的jqGrid和动态分组
- 11. jqGrid的格式塔动态
- 12. 的jqGrid动态事件
- 13. beforeShowForm动态形式的jqgrid
- 14. 设置jqGrid的ROWNUM动态
- 15. 动态列和在jqGrid中使用下拉列表
- 16. jqGrid中的动态上下文菜单
- 17. 如何在jqgrid中动态扩展列的级别?
- 18. 如何动态绑定和JqGrid中的行和列?
- 19. jqGrid动态重新排列索引名称的列
- 20. 动态定义一个jqGrid
- 21. JQGrid动态行可编辑
- 22. JQGrid ContextMenu - 动态菜单
- 23. 动态禁用jqGrid行
- 24. jqGrid动态选择字段
- 25. 动态JqGrid ColModel MVC3(剃刀)
- 26. jqGrid - 动态设置标题
- 27. 自动填充jqGrid和jQuery中的列
- 28. 在jqgrid中维护滚动状态
- 29. jqGrid的动态柱:cellattr不起作用
- 30. JQGrid colModel和数据的动态人口