KoGrid:访问网格

时间:2013-01-16 09:20:12

标签: jquery knockout.js kogrid

我目前正在考虑koGrid来渲染动态数据网格,我需要进行一些自定义。

例如,我想在不使用默认列菜单的情况下显示和隐藏列。

这是该列菜单的HTML输出:

<div data-bind="visible: showColumnMenu">
    <span class="kgMenuText">Choose Columns:</span>
    <ul class="kgColList" data-bind="foreach: nonAggColumns">
        <li class="kgColListItem">...</li>
    </ul>
</div>

如您所见,foreach绑定使用nonAggColumns属性。如果您查看koGrid库,则此属性在window.kg.Grid上定义。我希望能够从koGrid的上下文之外访问这个属性(以及kg.Grid中的其他属性)。

有没有人知道如何实现这个目标?任何帮助非常感谢!

1 个答案:

答案 0 :(得分:3)

你可以使用ko.dataFor(elem),其中elem是你的koGrid根元素的子div,这是koGrid与主Grid对象进行ko.applyBindings的元素。据我所知,这没有记录,可能会随着任何新版本而改变(至少在版本2.1中有效)。还有一种我不知道的更好/更安全的方式。

参见示例jsfiddle:http://jsfiddle.net/antishok/23D7C/11/