繁体   English   中英

如何在MVC中使用Slickgrid格式化程序

[英]How to use Slickgrid Formatters with MVC

我正在研究第一个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运行时错误:slick.grid.js脚本中应有的功能

非常感谢任何帮助-即使有更好的方法可以做到这一点!

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

尝试:

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

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

它将更易于维护,并且不易出错。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM