【问题标题】:jqgrid form editing problemjqgrid表单编辑问题
【发布时间】:2011-08-26 22:48:05
【问题描述】:

我在 mvc 2 中使用 jqGrid,如下所示:

jQuery("#extension_grid").jqGrid({
        url: '/Extension/Report',
        datatype: "json",
        direction: "rtl",
        height: "auto",
        jsonReader: { root: "rows", page: "page", total: "total", records: "records", repeatitems:       false, userdata: "UserData" },
        colModel:
        [
        { name: 'id', label: 'داخلی', key: true, search: true, width: 55 },
        { name: 'assigned_user', label: 'کاربر', width: 90, editable: true },
        { name: 'creation_date', label: 'تاریخ ایجاد', width: 100, formatter: 'date', formatoptions: { newformat: 'Y-m-d H:i:s'} }
        ],
        rowNum: -1,
        pager: '#extension_pager',
        sortname: 'id',
        viewrecords: true,
        sortorder: "asc",
        caption: "داخلی‌ها",
        editurl: '/Extension/MyEdit'
    });
    jQuery("#extension_grid").jqGrid('navGrid', '#extension_pager', { edit: true, add: true, del: true }, {}, {}, {}, { multipleSearch: true });       

当我选择一行并单击编辑按钮时,会出现一个对话框,我可以编辑该行。提交后,数据成功发布到editurl。但更改不会保存到网格客户端。我应该手动保存更改客户端吗? 我尝试使用本地数据类型,它可以工作!!!我该怎么办?使用json数据和表单编辑有什么问题吗?

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    你描述的情况让我觉得很奇怪。 “添加”和“编辑”表单有默认设置reloadAfterSubmit:true。这意味着在提交“编辑”表单后,例如网格包含将被重新加载。您可以验证 FiddlerFirebug 是否发生了网格重新加载。因此,要么您的服务器部分“/Extension/MyEdit”不保存数据,要么另一个服务器“/Extension/Report”没有获得刷新的数据。您在服务器上是否有某种数据缓存?

    所以你应该更准确地分析你遇到的问题。如果您自己不能解决问题,您应该更新/附加您的问题,并提供更多附加信息。

    【讨论】:

    • 感谢您的回答。问题是我认为 jqGrid 的工作方式。我认为 jqgrid 在将编辑数据发送到服务器并接收成功后会在本地(客户端)应用更改。但在从服务器重新加载数据后,确实会填充更改。我正在测试,但没有将数据反映到数据库中。
    • @user590747:你看到服务器发回旧数据了吗?为什么您的服务器应用程序这样做?顺便说一句,您可以在navGrid 的“编辑”选项中设置reloadAfterSubmit:false(参见prmEdit 参数here)。如果jqGrid提交成功后会更新网格数据到'/Extension/MyEdit'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多