我目前正在考虑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中的其他属性)。
有没有人知道如何实现这个目标?任何帮助非常感谢!
答案 0 :(得分:3)
你可以使用ko.dataFor(elem)
,其中elem是你的koGrid根元素的子div,这是koGrid与主Grid对象进行ko.applyBindings的元素。据我所知,这没有记录,可能会随着任何新版本而改变(至少在版本2.1中有效)。还有一种我不知道的更好/更安全的方式。
参见示例jsfiddle:http://jsfiddle.net/antishok/23D7C/11/