【发布时间】:2013-08-02 16:54:20
【问题描述】:
是否可以使用在 ItemContainer 控件中包装行的 Repeater 控件创建表?顺带一提:
<table id="products">
<thead>
<tr>
<td>Name</td>
<td>Description</td>
<td>Type</td>
<td>Billing Periodicity</td>
<td>Average Life Time (in months)</td>
<td>Is default</td>
</tr>
</thead>
<tbody id="tableBody" data-win-control="WinJS.UI.Repeater" data-win-bind="winControl.data: products">
<tr data-win-control="WinJS.UI.ItemContainer">
<td data-win-bind="textContent: name"></td>
<td data-win-bind="textContent: description"></td>
<td data-win-bind="textContent: type"></td>
<td data-win-bind="textContent: costPeriodicity"></td>
<td data-win-bind="textContent: averageLifeTime"></td>
<td data-win-bind="textContent: isDefault"></td>
</tr>
</tbody>
</table>
给定示例在运行时抛出异常:
Unable to get property 'children' of undefined or null reference
我想使用 ItemContainer 的功能来使表格行可点击。我对这个问题的处理方法无效吗?在那种情况下使用 ItemContainer 控件是否错误?
附注 - 如果我将 ItemContainer 控件应用到表格单元格 (td),evertything 会顺利运行(它们的行为类似于 windows8 - 就像可点击的对象)。
【问题讨论】:
-
这似乎不起作用。 ItemContainer 在插入第一个 td 元素之前添加多个层次结构。你最终得到的是一个无效的表。
标签: microsoft-metro repeater winjs windows-8.1