【问题标题】:How to override colmodel with other template如何用其他模板覆盖 colmodel
【发布时间】:2016-01-31 20:14:03
【问题描述】:

免费的 jqgrid colmodel 是在 Web 应用程序中使用可选模板和属性定义的,例如

{"template": defaultNumberTemplate,
   ,"label":"Price","name":"Price","width":53,
   "index":"Price","hidden":false
  }

在某些站点中,列模型需要特殊定制。对于这个特殊的模板是在站点 js 文件中定义的,比如

var newOrderPriceTemplate = {
    search : false,
    align: "center",
    sortable : false,
    label: "Special price", // overrides colmodel
    viewable : false,
    formatter: "showlink",
    formatoptions: {
        onClick: newOrderClick
    }
};

如何将此模板应用于 colmodel ?是否可以在commodel中使用overrideTemplate之类的特殊属性并添加

  overrideTemplate: newOrderPriceTemplate

到 colmodel 或任何其他想法?

ASP.NET MVC4、Razor、Bootstrap 4 也与 jqrid 一起使用。

【问题讨论】:

    标签: javascript asp.net asp.net-mvc jqgrid free-jqgrid


    【解决方案1】:

    你不能。模板是作为colModel 属性的默认值 集引入的。默认值不能更改显式指定的 colModel 中的值。

    如果你想改变,例如colModel的所有项目中的formatoptions,它有一些特定的条件,那么你应该枚举colModel的项目,测试条件并将那里覆盖为新值。

    【讨论】:

    • newOrderPriceTemplate 是简单的 javascript 独立对象。在 colmodel 中解析主模板和内联属性后,也许可以使用 $.extend( true, colModel[i], newOrderPriceTemplate) 之类的东西从 newOrderPriceTemplate 对象中设置值?
    • @Andrus:是的,你可以在你的代码中做到这一点,但这样的代码绝对不是部分,它应该使用开箱即用的免费 jqGrid。您可以编写更符合您的要求和您计划在newOrderPriceTemplate 中使用的设置的代码。
    猜你喜欢
    • 2016-07-16
    • 2023-01-26
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 2011-07-08
    • 2014-05-22
    • 2017-09-03
    • 1970-01-01
    相关资源
    最近更新 更多