uig.columnIndex在igGridHiding columnShowing事件中未定义

时间:2013-12-11 07:41:18

标签: javascript jquery infragistics ignite-ui

我需要显示隐藏列的列索引,我在columnShowing事件中处理它,根据文档我们可以使用ui.columnIndex来获取它。 但是,当ui.columnKey给出适当的价值时,它就像未定义的那样。

这是代码

    {
    name: "Hiding",
    columnChooserHeight: 400,
    columnChooserWidth: 400,
    columnShowing: function (evt, ui) {
       alert(ui.columnIndex);                                         
    }
   }

这里是fiddle显示问题。

当您单击以查看第一个隐藏列时,ui.columnIndex未定义且ui.columnKey具有值。

1 个答案:

答案 0 :(得分:2)

该活动将提供columnIndexcolumnKey。在大多数情况下使用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中获取可以在事件处理程序之外使用的列索引。