【问题标题】:Jquery Bootgrid loads data initially then blanks outJquery Bootgrid 最初加载数据然后空白
【发布时间】: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()

标签: jquery datagrid


【解决方案1】:

我想通了。显然,如果您有 ajax = true 它需要 url 参数。一旦我删除了它并重新调整了一些东西,我就可以正常工作了。

【讨论】:

    猜你喜欢
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    相关资源
    最近更新 更多