【问题标题】:How to use Slickgrid Formatters with MVC如何在 MVC 中使用 Slickgrid 格式化程序
【发布时间】:2013-06-27 23:25:27
【问题描述】:

我正在开发第一个 Slickgrid MVC 应用程序,其中列定义和格式将存储在数据库中。我可以很高兴地检索列列表并填充它们,直到遇到日期格式问题。没问题 - 对于每个日期(或时间)列,我可以在数据库中存储一个格式化程序名称,以便也可以检索它。我正在使用以下可以正常工作的代码:

CLOP_ViewColumnsDataContext columnDB = new CLOP_ViewColumnsDataContext();
var results = from u in columnDB.CLOP_VIEW_COLUMNs
              select u;

List<dynColumns> newColumns = new List<dynColumns>();

foreach(CLOP_VIEW_COLUMN column in results)
{

    newColumns.Add(new dynColumns
    {
        id = column.COLUMN_NUMBER.ToString(),
        name = column.HEADING.Trim(),
        field = column.VIEW_FIELD.Trim(),
        width = column.WIDTH,
        formatter = column.FORMATTER.Trim()

    }); 
}

var gridColumns = new JavaScriptSerializer().Serialize(newColumns);

这一切都很好,除了格式。变量 gridColumns 的一个例子是:

    [{"id":"1","name":"Date","field":"SCHEDULED_DATE","width":100,"formatter":"Slick.Formatters.Date"},{"id":"2","name":"Carrier","field":"CARRIER","width":50,"formatter":null}]

看起来还不错,但是应用程序失败并出现错误 Microsoft JScript runtime error: Function expected in the slick.grid.js script

非常感谢任何帮助 - 即使有更好的方法!

【问题讨论】:

    标签: asp.net-mvc slickgrid jscript


    【解决方案1】:

    您正在为格式化程序属性分配一个字符串,它应该是函数。

    试试:

    window["Slick"]["Formatters"]["Date"];
    

    但我真的认为你应该重新考虑这样做,而是将你的值存储在数据库中并通过代码定义你的列。

    这样会更容易维护,也更不容易出错。

    如果您决定使用稍后重命名的自定义编辑器和格式化程序怎么办? 然后您的代码将中断,或者您必须重命名数据库和代码中的所有条目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-20
      • 2016-05-23
      • 2017-08-03
      • 2014-12-31
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多