【问题标题】:jqGrid loading message wont workjqGrid加载消息不起作用
【发布时间】:2012-07-25 12:49:40
【问题描述】:

我在这里做错了什么?我应该有一个 loadText,我有一个,我将 loadui 设置为“阻止”。我到底做错了什么……

正在使用 reloadGrid 命令加载该数据...也许我应该设置 loadText 并加载 ui?这是我设置 jqGrid 的方式...

$(document).ready(function () {
    $("#list").jqGrid({
        shrinkToFit: false,
        autowidth: true,
        datatype: 'jsonstring',
        mtype: 'POST',
        colNames: [
                    'Last Name',
                    'First Name',
                    'DOB',
                    'Gender',
                    'EMPIID',
                    'MedipacId',
                    'EPCID'
                    ],
        colModel: [
                    { name: 'Last_Name', width: 115, align: 'left' },
                    { name: 'First_Name', width: 115, align: 'left' },
                    { name: 'DOB', width: 115, align: 'left' },
                    { name: 'GENDER', width: 115, align: 'left' },
                    { name: 'EMPIID', width: 115, align: 'left' },
                    { name: 'medipacId', width: 145, align: 'left' },
                    { name: 'EPCID', width: 145, align: 'left' }
                ],
        rowNum: 10,
        rowList: [5, 10, 20, 50],
        sortname: 'Id',
        sortorder: "desc",
        loadui: 'block',
        loadtext: 'Does this thing every work?',
        viewrecords: true,
        imgpath: '/Content/themes/UPMC-theme/images',
        caption: 'Patient Return Result',
        ondblClickRow: function (id) {
            var rowData = $("#list").getRowData(id);
            var dummyURL = '@Url.Action("EditEncounter", "EditEncounterAdd", new { FirstName ="-1", LastName="-2", DOB = "-3", MRN="-4", popID = TempData["POPULATIONID"] })';
            var FName = rowData['First_Name'];
            var LName = rowData['Last_Name'];
            var DOB = rowData['DOB'];
            var MRN = rowData['medipacId'];
            var path = dummyURL.replace("-1", FName);
            var path = dummyURL.replace("-2", LName);
            var path = dummyURL.replace("-3", DOB);
            var path = dummyURL.replace("-4", MRN);
            debugger;
            document.location.href = path;
        }
    });
})

谢谢。 更新:不...这不起作用

更新:以下是我更新表格的方式

$("#list").setGridParam({
            datatype: 'jsonstring',
            datastr: result,
            loadui: 'block',
            loadtext: 'what is good in the hood?',
            caption: 'Search Results'
        }).trigger("reloadGrid");

ps...loadui 和 loadtext 根本没有显示任何内容...我最想念的东西...

【问题讨论】:

    标签: jqgrid jqgrid-asp.net


    【解决方案1】:

    首先想到的是没有url 选项,所以网格不知道从哪里加载数据......或者我错过了什么?

    【讨论】:

    • 我只是调用 .setGridParam 来加载数据......我上面所做的是我如何设置表格,所以它最初是空的。当用户点击搜索时,数据应该被刷新......这就是为什么我需要在整个网格上加载 gif......我会更新我的帖子
    • 抱歉,我知道这里发生了什么。您正在使用jsonstring 使用result 将JSON 数据传递到网格。在这种情况下,加载消息永远不会显示,因为网格没有发出 AJAX 请求。您可以更改代码以让 jqGrid 发出 AJAX 请求,也可以使用其他插件来显示加载消息,例如 jQuery BlockUI - jquery.malsup.com/block
    • 那么我将如何确定何时阻止以及何时解除阻止?我知道 jqGrid,有一个 OnComplete 事件,但它有一个加载事件吗?当我做trigger.reloadGrid?我会阻止,当说 $('#list').complete 我有一个解除阻止的功能吗?
    • 您会在发出 AJAX 请求之前阻止(假设这是您获取 result 内容的方式)。数据类型是本地的,因为您使用的是 JSON 字符串 - 请参阅 trirand.com/jqgridwiki/… 了解更多信息。所以reloadGrid是同步操作,触发后就可以解除阻塞。
    • 嗯,这会使事情复杂化,因为我在 MVC 应用程序中使用 Ajax.BeginForm 而不是执行标准表单,然后我会阻止默认活动触发。所以我可能有点吃不消了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    相关资源
    最近更新 更多