JqGrid 使用 colNames 指定列标签与使用 colNames 中的标签 属性
JqGrid Specifying the Column Label using colNames vs using label property from colNames
我使用 jqGrid 有一段时间了,我只是想知道使用 colNames 指定 Label 有什么区别,如图所示
colNames:['Actions','Inv No'],
colModel [
{name:'act',index:'act',width:55,align:'center'},
{name:'inv',width:100,align:'left'}
]
或使用 colModel 的标签 属性,如下所示
colModel [
{label:'Actions', name:'act',index:'act',width:55,align:'center'},
{label:'Inv No', name:'inv',width:100,align:'left'}
]
colNames
和 label
做同样的事情;在 header 层上分配列名称。
我唯一能读到的区别是 colNames
优先于 label
。如果两者都已定义 colNames
,则值显示为 header。
label
作为 colNames
的备份。如果未定义 colNames
选项,则使用 label
选项 属性 分配列 header。
JSFiddle https://jsfiddle.net/tfkanxhv/ 引用 colNames 和标签值。
两种声明没有区别。 colNames
的用法稍微短一些,因为它提供相同的信息,但不包括列 header 的每个文本之前的文本 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
数组将填充来自 label
或 name
[=46] 的信息=].
就这些了。我个人认为使用 label
而不是 colNames
的代码更具可读性。
为了更准确,我必须添加一个额外的小评论。如果指定了 colNames
和 label
,那么 jqGrid 使用 colNames
作为列 header,但是 label
将用作 the Searching Dialog 中的标签(请参阅搜索对话框中的文本 "Inv No")。
我使用 jqGrid 有一段时间了,我只是想知道使用 colNames 指定 Label 有什么区别,如图所示
colNames:['Actions','Inv No'],
colModel [
{name:'act',index:'act',width:55,align:'center'},
{name:'inv',width:100,align:'left'}
]
或使用 colModel 的标签 属性,如下所示
colModel [
{label:'Actions', name:'act',index:'act',width:55,align:'center'},
{label:'Inv No', name:'inv',width:100,align:'left'}
]
colNames
和 label
做同样的事情;在 header 层上分配列名称。
我唯一能读到的区别是 colNames
优先于 label
。如果两者都已定义 colNames
,则值显示为 header。
label
作为 colNames
的备份。如果未定义 colNames
选项,则使用 label
选项 属性 分配列 header。
JSFiddle https://jsfiddle.net/tfkanxhv/ 引用 colNames 和标签值。
两种声明没有区别。 colNames
的用法稍微短一些,因为它提供相同的信息,但不包括列 header 的每个文本之前的文本 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
数组将填充来自 label
或 name
[=46] 的信息=].
就这些了。我个人认为使用 label
而不是 colNames
的代码更具可读性。
为了更准确,我必须添加一个额外的小评论。如果指定了 colNames
和 label
,那么 jqGrid 使用 colNames
作为列 header,但是 label
将用作 the Searching Dialog 中的标签(请参阅搜索对话框中的文本 "Inv No")。