首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQGrid动态创建的列标题

问JQGrid动态创建的列标题
EN

Stack Overflow用户
提问于 2021-09-10 16:52:26
回答 1查看 64关注 0票数 0

我正在从mysql表的行 (Button1)创建列标题,它工作得很好。当我查询表中的A、B、C行时,我会在网格中得到头文件A,A,B,C。

Button2查询相同的表以得到不同的行,例如D,E,这两个查询都返回预期的数据。

但是,来自Button2的新头数据是附加的到从Button1创建的列标题。我得到了A,B,C,D,D,E。

我想要的只是标题,D,D,E,我想要的只是标题。如何清除旧的列标题并替换为新的列标题?

谢谢你的帮助。

代码语言:javascript
复制
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,             
    });
 }
EN

回答 1

Stack Overflow用户

发布于 2021-09-11 13:41:37

解决方案:我确信有更好的方法,但我最终所做的是更改我的查询,从mysql表中选择所有行,然后创建网格。当然,网格对于表中的每一行都有一个列。为了消除不需要的列,我组成了一个函数,循环遍历列名,并根据需要使用它隐藏/显示。

代码语言:javascript
复制
$"#avgrid").jqGrid('hideCol',[row.roomname]);

$("#avgrid").jqGrid('showCol',[row.roomname]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69135545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档