我正在从mysql表的行 (Button1)创建列标题,它工作得很好。当我查询表中的A、B、C行时,我会在网格中得到头文件A,A,B,C。
Button2查询相同的表以得到不同的行,例如D,E,这两个查询都返回预期的数据。
但是,来自Button2的新头数据是附加的到从Button1创建的列标题。我得到了A,B,C,D,D,E。
我想要的只是标题,D,D,E,我想要的只是标题。如何清除旧的列标题并替换为新的列标题?
谢谢你的帮助。
var ColModel = []
var availabilitydept = ''
$("#button1").click(function() {
availabilitydept = 'de85768424332'
set_up_avgrid()
});
$("#button2").click(function() {
availabilitydept = 'de56827997021'
set_up_avgrid()
});
function set_up_avgrid()
{
$("#avgrid").jqGrid("GridUnload")
$('#avgrid').jqGrid('clearGridData');
create_colmodel()
create_grid()
}
function create_colmodel()
{
ColModel.push({name :'Date',index: 'dateindex',resizable : false, align:'left',
frozen : true, width : 80, search: false,
resizable : false});
$.ajax
({
url: 'tl2_get_rooms_by_dept.php',
type: 'GET',
async: false, // ** it don't work with async true.
data: 'userid=' + 'TL2-0001'
+ '&deptid=' + availabilitydept,
dataType: 'json',
success: function(rows)
{
for (var i in rows)
{
var row = rows[i];
ColModel.push({name: row.roomname, index: row.roomname + i, align:'center', resizable : false, width:50, search:false});
}
}
});
}
function create_grid()
{
$("#avgrid").jqGrid(
{
shrinkToFit: false,
height : 200,
width : 290,
colModel: ColModel,
});
}发布于 2021-09-11 13:41:37
解决方案:我确信有更好的方法,但我最终所做的是更改我的查询,从mysql表中选择所有行,然后创建网格。当然,网格对于表中的每一行都有一个列。为了消除不需要的列,我组成了一个函数,循环遍历列名,并根据需要使用它隐藏/显示。
$"#avgrid").jqGrid('hideCol',[row.roomname]);
$("#avgrid").jqGrid('showCol',[row.roomname]);https://stackoverflow.com/questions/69135545
复制相似问题