我面临一个问题在Jqgrid行选择。我在网格中有重复的行。 每当我选择重复或选择该重复行的第一条记录。Jqgrid选择问题与重复列
0
A
回答
4
这对很多人谁开始使用jqGrid的通病。如果您使用ID复制填充网格,则会出现这种奇怪的选择行为。所以了解jqGrid将如何使用您输入的ID会非常重要。
jqGrid使用内部HTML标记来显示网格。它使用<table>
,<tbody>
(表格的主体 - 没有列标题),<tr>
(表格的行)和<td>
(表格的表格)的任何网格。下面的HTML片段可能代表网格例如
<table>
<tbody>
<tr><td>16</td><td>A11</td><td>Add</td></tr>
<tr><td>1</td><td>Chart</td><td>Edit</td></tr>
<tr><td>1</td><td>Chart</td><td>Delete</td></tr>
<tr><td>1</td><td>Chart</td><td>View</td></tr>
<tr><td>15</td><td>Manage</td><td>Edit</td></tr>
<tr><td>16</td><td>A11</td><td>View</td></tr>
<tr><td>15</td><td>Manage</td><td>Delete</td></tr>
</tbody>
</table>
的jqGrid的设计是为了让人们可以有快速接入电网的任何行。为了实现快速访问,需要为每个<tr>
(表格行)分配一个唯一标识。您可以在jqGrid使用的最多methods或events中找到rowid参数。该行的id应为,表示表中该行的集合中的行。在这种情况下电网就会像下面
<table>
<tbody>
<tr id="a"><td>16</td><td>A11</td><td>Add</td></tr>
<tr id="b"><td>1</td><td>Chart</td><td>Edit</td></tr>
<tr id="c"><td>1</td><td>Chart</td><td>Delete</td></tr>
<tr id="abc"><td>1</td><td>Chart</td><td>View</td></tr>
<tr id="1"><td>15</td><td>Manage</td><td>Edit</td></tr>
<tr id="2"><td>16</td><td>A11</td><td>View</td></tr>
<tr id="35"><td>15</td><td>Manage</td><td>Delete</td></tr>
</tbody>
</table>
根据HTML规范的任何HTML元素的ID必须是在页面上独一无二的。如果分配重复的ID对行喜欢这里例如
<table>
<tbody>
<tr id="16"><td>16</td><td>A11</td><td>Add</td></tr>
<tr id="1"><td>1</td><td>Chart</td><td>Edit</td></tr>
<tr id="1"><td>1</td><td>Chart</td><td>Delete</td></tr>
<tr id="1"><td>1</td><td>Chart</td><td>View</td></tr>
<tr id="15"><td>15</td><td>Manage</td><td>Edit</td></tr>
<tr id="16"><td>16</td><td>A11</td><td>View</td></tr>
<tr id="15"><td>15</td><td>Manage</td><td>Delete</td></tr>
</tbody>
</table>
表可仍显示在大多数Web浏览器,但与电网的工作可能是非常有问题的。例如,如果选择这种网格的最后一行,相应的jqGrid代码将找出15作为当前行的ID,它将使用$("#15").addClass("ui-state-highlight")
来突出显示当前行。而不是代码将选择(将类“ui-state-highlight”)添加到第一行,其中id =“15”。
所以你应该非常小心,如果你填充你的JSON数据用作jqGrid输入。例如可以表示网格中的以下数据 包含:
{
"total": 1,
"page": 1,
"records": 7,
"rows": [
{ "id": "16", "cell": ["16", "A11", "Add"] },
{ "id": "1", "cell": ["1", "Chart", "Add"] },
{ "id": "1", "cell": ["1", "Chart", "Delete"] },
{ "id": "1", "cell": ["1", "Chart", "View"] },
{ "id": "15", "cell": ["15", "Manage", "Delete"] },
{ "id": "16", "cell": ["16", "A11", "View"] },
{ "id": "15", "cell": ["15", "Manage", "Edit"] }
]
}
的JSON数据可以被固定到
{
"total": 1,
"page": 1,
"records": 7,
"rows": [
{ "id": "1", "cell": ["16", "A11", "Add"] },
{ "id": "2", "cell": ["1", "Chart", "Add"] },
{ "id": "3", "cell": ["1", "Chart", "Delete"] },
{ "id": "4", "cell": ["1", "Chart", "View"] },
{ "id": "5", "cell": ["15", "Manage", "Delete"] },
{ "id": "6", "cell": ["16", "A11", "View"] },
{ "id": "7", "cell": ["15", "Manage", "Edit"] }
]
}
或
{
"total": 1,
"page": 1,
"records": 7,
"rows": [
{ "id": "16_Add", "cell": ["16", "A11", "Add"] },
{ "id": "1_Add", "cell": ["1", "Chart", "Add"] },
{ "id": "1_Delete", "cell": ["1", "Chart", "Delete"] },
{ "id": "1_View", "cell": ["1", "Chart", "View"] },
{ "id": "15_Delete", "cell": ["15", "Manage", "Delete"] },
{ "id": "16_View", "cell": ["16", "A11", "View"] },
{ "id": "15_Edit", "cell": ["15", "Manage", "Edit"] }
]
}
例如。然后,世界(包括电网)将会变好。
相关问题
- 1. jqgrid 4.6.0列选择器问题
- 2. qtip jqgrid选择器问题
- 3. 复选框选择与jQuery的问题
- 4. 带列标题的JqGrid列选择器
- 5. jqGrid的选择复选框
- 6. jqGrid列与模拟Html.DropDownListFor选择列表
- 7. SQL选择重复结果问题
- 8. 选择排序的重复问题
- 9. jqGrid的列选择
- 10. Jqgrid - 选择组标题与Ajax事件?
- 11. jqGrid:选择元素的问题
- 12. jqgrid日期选择器问题
- 13. JQGrid虽然列重新排序 - 问题与标题显示
- 14. jqgrid多选问题
- 15. jqGrid与所有列中的复选框
- 16. 重复标题选择器
- 17. 与jqGrid jQuery问题
- 18. jqGrid中的多重选择
- 19. 问题与DataGridView的复选框列
- 20. 选择一列是一个重复的,也选择不重复
- 21. MySQL选择重复列
- 22. jqgrid分页问题与阵列数据
- 23. iPhone:与NSMutableDictionary重复问题的重复
- 24. jqGrid的列选择格式
- 25. jqGrid的基本列选择
- 26. Jqgrid中的复选框列
- 27. jqGrid - 如何取消选择标题行复选框
- 28. 重复问题与查询
- 29. SQL选择问题与PHP
- 30. 问题与$( '选择')jQuery中
感谢您的好评。它为我工作。 – Saad
@Saad:不客气! – Oleg