4

我目前正在查看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 的其他属性)。

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

4

1 回答 1

4

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

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

于 2013-01-17T08:35:22.570 回答