MVC3 JQGrid从控制器动态设置colmodel

时间:2012-09-11 22:42:05

标签: asp.net-mvc-3 jqgrid

我看过很多关于在视图中设置colmodel的例子,但是我还没有看到控制器代码! 我试图这样做,但设置仍然是错误的。 我试图达到这个专栏的形成:

colModel:
[
    { name: 'ID', index: 'ID', hidden: true },
    { name: 'Votes', index: 'Votes', width: 100, align: 'left' },
    { name: 'Question', index: 'Question', width: 300, align: 'left' },
    { name: 'my_clickable_checkbox', index: 'my_clickable_checkbox',
        sortable: true,
        formatter: chkFmatter, formatoptions: { disabled: false }, editable: true,
        edittype: "checkbox"
    }
],

这是我在控制器中的试用版:

return Json(
    new { colNames = new[] { "ID2", "Votes2", "Question2", "checkbox" },
          colModel = new[] { 
            new { name = "ID", index = "ID", width = 0, formatter="",
                  edittype="", hidden = true },
            new { name = "Votes", index = "Votes", width = 100, formatter="",
                  edittype="", hidden = false },
            new { name = "Question", index = "Question", width = 300, formatter="",
                  edittype="", hidden = false },
            new { name = "checkbox", index = "my_clickable_checkbox", width = 100,
                  formatter="chkFmatter", edittype="checkbox", hidden = false }
          }
}, JsonRequestBehavior.AllowGet);

在控制器中创建此数组迫使我在所有行中具有相同数量的属性。例如,我只需要隐藏ID,但它会强制我向所有其他列提供hidden属性。

第二个问题,我需要为第四列调用js function chkFmatter

如何在控制器中实现colModel形成?

非常感谢。

1 个答案:

答案 0 :(得分:0)

您可能有兴趣查看jqGrid Importing and exporting功能。它允许您将整个jqGrid配置导入或导出为其他文件格式。

您可以阅读此博文:

获得有关如何在ASP.NET MVC中使用这些功能的一般概念,但如果涉及ASP.NET MVC的东西(它基于ASP.NET MVC 1),它有点过时了。

您还可以查看此jqGrid示例项目:

其中包含用于配置导入/导出的样本。

这里要记住的大多数导入的东西是你仍然需要在配置导入后设置任何jqGrid事件/回调或调用任何其他方法,如'setFrozenColumns'。