【发布时间】:2020-04-10 08:16:30
【问题描述】:
我无法弄清楚我在这里做错了什么。我有一个 jquery bootgrid,我正在完全按照示例指示进行操作,但是会发生什么是页面最初加载了未格式化的数据,然后 jquery bootgrid 格式被应用了一小段时间,然后是空白,只是消息“正在加载...”代替数据。所以它最初可以工作,但后来失败了,我不知道为什么。通过调试器我得到一个关于 url 不能为空的异常,但我没有使用 API 来获取这些数据,我正在读取它并将其直接加载到表中(如代码中所示)。如果我包含一个无意义的 url 设置,我会得到“无结果”,这是有道理的,因为没有来自该 url 的数据,但网格运行正常。如果没有 url 参数,我怎样才能让它工作?
HTML:
<table id="ResultsGrid" name="ResultsGrid" runat="server" data-side-pagination="server" data-pagination="true" class="table table-extracondensed table-bordered table-striped">
<thead>
<tr class="info">
<th data-column-id="CaseID" data-identifier="true" data-formatter="link">Case ID</th>
<th data-column-id="Status">Status</th>
</tr>
</thead>
<tbody>
@if (Model.Results != null && Model.Results.Count() > 0)
{
foreach (var result in Model.Results)
{
<tr>
<td><a style="cursor:pointer" href="/ViewCase?id=@result.CaseID">@result.CaseID</a></td>
<td>@result.Status</td>
</tr>
}
}
</tbody>
</table>
Javascript:
$(document).ready(function () {
$('.datepicker').datepicker();
$("#ResultsGrid").bootgrid({
ajax: true,
post: function () {
return {
id: "b0df282a-0d67-40e5-8558-c9e93b7befed"
};
},
selection: true,
multiSelect: true,
formatters: {
"link": function (column, row) {
return "<a href=\"#\">" + column.id + ": " + row.id + "</a>";
}
}
}).on("selected.rs.jquery.bootgrid", function (e, rows) {
var rowIds = [];
for (var i = 0; i < rows.length; i++) {
rowIds.push(rows[i].id);
}
alert("Select: " + rowIds.join(","));
}).on("deselected.rs.jquery.bootgrid", function (e, rows) {
var rowIds = [];
for (var i = 0; i < rows.length; i++) {
rowIds.push(rows[i].id);
}
alert("Deselect: " + rowIds.join(","));
});
});
</script>
【问题讨论】:
-
几乎听起来你在重置元素的初始调用之后的某个地方再次调用了 .bootgrid()