我需要显示隐藏列的列索引,我在columnShowing事件中处理它,根据文档我们可以使用ui.columnIndex来获取它。 但是,当ui.columnKey给出适当的价值时,它就像未定义的那样。
这是代码
{
name: "Hiding",
columnChooserHeight: 400,
columnChooserWidth: 400,
columnShowing: function (evt, ui) {
alert(ui.columnIndex);
}
}
这里是fiddle显示问题。
当您单击以查看第一个隐藏列时,ui.columnIndex未定义且ui.columnKey具有值。
答案 0 :(得分:2)
该活动将提供columnIndex
或columnKey
。在大多数情况下使用columnKey
(索引仅在没有键时,当网格绑定到现有HTML表时会发生自动生成列)。在你的情况下,你可以放心地假设你总是得到密钥,所以尝试这样的东西来获得索引:
{
name: 'Hiding',
columnShowing: function (evt, ui) {
alert(ui.owner.grid.options.columns.indexOf(ui.owner.grid.columnByKey(ui.columnKey)));
// use $.inArray(ui.owner.grid.columnByKey(ui.columnKey),ui.owner.grid.options.columns) instead indexOf() for IE<9 support
alert(ui.columnKey)
}
}
小提琴:http://jsfiddle.net/damyanpetev/qrsZm/
还有其他选项可以在此forum post中获取可以在事件处理程序之外使用的列索引。