改变语言的GRID.mvc问题[ASP.net MVC 4]

时间:2014-04-24 11:33:15

标签: c# javascript html asp.net-mvc asp.net-mvc-4

我在项目中使用Grid.Mvc,我想改变网格语言。要做到这一点首先我创建了Gridmvc.lang.fr.js文件我的语言:

    /***
* Grid.Mvc French language (fr-FR) http://gridmvc.codeplex.com/
*/
window.GridMvc = window.GridMvc || {};
window.GridMvc.lang = window.GridMvc.lang || {};
GridMvc.lang.fr = {
    filterTypeLabel: "Type: ",
    filterValueLabel: "Valeur:",
    applyFilterButtonText: "Applique",
    filterSelectTypes: {
        Equals: "Egale",
        StartsWith: "commance par",
        Contains: "contient",
        EndsWith: "fini par",
        GreaterThan: "plus que",
        LessThan: "moin que"
    },
    code: 'fr',
    boolTrueLabel: "Vrai",
    boolFalseLabel: "faux",
    clearFilterLabel: "Vide"
};

然后在我看来我做了这个:

    @Html.Grid(Model).Named("offresGrid").Columns(columns =>
                            {
                                columns.Add(item => item.REGION.NOM)
                                .Filterable(true)
                                .Sortable(true); ...
                            }).WithPaging(20)
    <script>
        $(function () {
            pageGrids.offresGrid.lang = GridMvc.lang.fr;
         });
</script>

gridmvc.js的一部分:

//load current lang options:
    this.lang = GridMvc.lang[this.options.lang];
    if (typeof (this.lang) == 'undefined')
        this.lang = GridMvc.lang.en;

但是当我点击Filter Icon时,它没有用,空的Popup被选中没有值或按钮。
任何人都知道默认情况下如何将语言更改为Lang.fr?

2 个答案:

答案 0 :(得分:4)

我只是找到解决这个问题的另一种方法,我希望它可以帮助别人。 我创建了自己的lang文件

gridmvc.lang.es.js

在包中的mvcgrid.js之后包含它

bundles.Add(new ScriptBundle("~/bundles/mvcgrid").Include(
    "~/Scripts/gridmvc.js",
    "~/Scripts/gridmvc.lang.es.js"));

然后使用SetLanguage来使用它:

@Html.Grid(Model).SetLanguage("es").Columns(...)...

答案 1 :(得分:1)

如果您无法在默认情况下更改当前语言,则只需将Gridmvc.lang.fr.js引用放在Layout和此脚本中:

  <script>
    $(function () {
        pageGrids.offresGrid.lang = GridMvc.lang.fr;
     });
 </script>

关于GridMVC.js中的此代码段:

    this.lang = GridMvc.lang[this.options.lang];
    if (typeof (this.lang) == 'undefined')
    this.lang = GridMvc.lang.fr;//try this but I am not sure. Because it supposes to update the lang section
                                            // Where the lang is situated or add the first code above there.

我希望它会有所帮助。