【问题标题】:Apply JQgrid formatoptions in dynamic binding在动态绑定中应用 JQgrid 格式选项
【发布时间】:2017-11-06 11:28:28
【问题描述】:

我正在使用从 WCF 服务返回的 JSON 数据动态创建 JQgrid。所有单值属性(如名称、可编辑等)都成功绑定。但我需要对网格中显示的值应用货币格式。 为此,我设置了 formatter: currency 并添加了 formatoptions,我使用了一个带有前缀的类作为其成员,并将其值设置为 '$' 。在输出表单中,选项显示为"formatoptions":[{"prefix":"$"}],但无法在网格上设置。还尝试使用简单的字符串文本作为"formatoptions":"{prefix: $}",但没有成功。

模型的完整 JSON 格式为:

{\"name\":\"month\",\"editable\":true,\"width\":\"100\",\"formatter\":\"currency\",\"hidden\":false,\"align\":\"right\",\"formatoptions\":\"{prefix: $}\"}]"}

在使用返回 JSON 数据的 WCF 服务动态创建列和列模型时,您能否帮助在 JQgrid 上应用格式选项。

谢谢

【问题讨论】:

    标签: wcf dynamic free-jqgrid jqgrid-formatter


    【解决方案1】:

    "formatoptions":"{prefix: $}""formatoptions":[{"prefix":"$"}] 都是错误的。正确的是使用"formatoptions":{"prefix":"$"}

    更新:您的演示对formatoptions 属性使用错误数据:

    \"formatoptions\":\"{\\\"prefix\\\":\\\"$\\\"}\"
    

    对应字符串'{"prefix":"$"}'而不是

    \"formatoptions\":{\"prefix\":\"$\"}
    

    对应对象{"prefix":"$"}

    修复数据可以解决问题。见https://jsfiddle.net/oyavoe00/1/

    【讨论】:

    • 感谢奥列格的回复。但是 "formatoptions":{"prefix":"$"} 仍然没有在 JQgrid 中设置货币符号。
    • @supriyakhamesra:不客气!我确定你犯了一些错误。设置"formatoptions":{"prefix":"$"} 必须有效。这只是formatter: "currency" 的标准使用方式。您能否提供重现问题的演示?到目前为止,您还没有发布任何代码行,只是解释了您认为代码的作用。通常很难在他自己的程序中发现错误。我建议您另外使用 Chrome/IE 的开发者工具的网络选项卡或Fiddler 来检查从服务器返回的确切 JSON 数据
    • demo上传到链接jsfiddle.net/oyavoe00demo上传到链接jsfiddle.net/oyavoe00。在 demo 中添加了从 web 服务返回的包含 formatoptions 作为前缀的列模型的示例 json 代码。请让我们知道我们在哪里做错了。
    • @supriyakhamesra:看看我回答的更新部分。
    • @supriyakhamesra:另外我想您以错误的方式从 WCF 返回 JSON 数据。 WCF 方法应返回 object 而不是字符串。 ASP.NET 框架会将对象转换为字符串。如果您返回字符串(JSON 字符串),那么 ASP.NET 会将字符串 第二次 序列化/转换为 JSON,这只会转义所有 ` and "` 符号。正因为如此您需要在 JavaScript 代码中显式调用 JSON.parse
    猜你喜欢
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    相关资源
    最近更新 更多