JqG​​rid使用colNames指定列标签vs使用colNames中的label属性

时间:2016-01-25 22:31:12

标签: jqgrid

我一直在使用jqGrid一段时间我只是想知道使用colNames指定Label如图所示有什么区别

colNames:['Actions','Inv No'],
colModel [
    {name:'act',index:'act',width:55,align:'center'},
    {name:'inv',width:100,align:'left'}
]

使用colModel的Label属性,如下所示

colModel [
    {label:'Actions', name:'act',index:'act',width:55,align:'center'},
    {label:'Inv No', name:'inv',width:100,align:'left'}
]

2 个答案:

答案 0 :(得分:1)

colNameslabel做同样的事情;在标题图层上指定列名称。

我可以阅读的唯一区别是colNames优先于label。如果两者都被定义colNames,则值显示为标题。

label充当colNames的备份。如果未定义colNames选项,则会使用label选项属性来指定列标题。

JSFiddle https://jsfiddle.net/tfkanxhv/引用colNames和标签值。

答案 1 :(得分:1)

两种声明都没有差异。 colNames的使用时间稍短,因为一个提供相同的信息,而不在列标题的每个文本之前包含文本label:。另一方面包括label:和跳过colNames有一些小的实际优势。修改旧代码的每个人都犯了一个错误:在colModel中删除(注释)了一列,但有一个忘记删除(评论)colNames中的相应项。

我发现了解如何使用label信息非常重要。看看the code fragment

if (p.colNames.length === 0) {
    for (iCol = 0; iCol < p.colModel.length; iCol++) {
        p.colNames[iCol] = p.colModel[iCol].label !== undefined ?
                p.colModel[iCol].label :
                p.colModel[iCol].name;
    }
}

您可以看到jqGrid测试是否指定了colNames。如果colNames为空数组(默认值为colNames),则colNames数组将填充来自labelname属性的信息。< / p>

一切都好。我个人使用label代替colNames更易读的代码。

我必须要包括一个额外的小评论。如果指定 <{strong> colNameslabel,则jqGrid会使用colNames作为列标题,但label将用作library(quantmod) library(lubridate) getSymbols("PAYEMS", src=("FRED"), return.class = "xts") 中的标签{3}}(请参阅搜索对话框中的“Inv No”文字。)