【问题标题】:How do I add a command column to jqGrid using the GridModel pattern?如何使用 GridModel 模式向 jqGrid 添加命令列?
【发布时间】:2013-09-08 08:07:52
【问题描述】:

我进行了多次搜索,尽管 Trirand 提供了付费产品,但提供的有用文档几乎为零。

我正在使用服务器端代码来构建网格模型,即JQGridColumn 对象的集合,但当然该对象的文档为零:

Columns = new List<JQGridColumn>()
            {
                new JQGridColumn
                    {
                        DataField = "Id",
                        PrimaryKey = true, 
                        Editable = false,
                        Visible = false
                    },
                new JQGridColumn
                    {
                        DataField = "FileName",
                        HeaderText = "File Name",
                        Editable = false
                    },

这取自他们给出的例子。用 JavaScript 构建网格列的模式有数百万个答案,我可能最终会设法翻译一个,但是现在,有人可以回答我的问题吗?

【问题讨论】:

    标签: asp.net-mvc jqgrid grid jqgrid-asp.net


    【解决方案1】:

    jqGrid 是开源的 JavaScript jQuery 插件。可以在 MIT 许可下在商业产品中使用它。 trirand.net 的解决方案只是在内部使用相同的 JavaScript。您可以将它与您找到的免费 jqGrid 的任何 JavaScript 代码混合使用。建议您将商业jqGrid生成的HTML页面的源代码开源并检查代码。如果你使用

    <%= Html.Trirand().JQGrid(Model.OrdersGrid, "Grid") %>
    

    你会发现

    <table id='Grid'>
    
    <script type='text/javascript'>
        jQuery(document).ready(function() {
            jQuery('#Grid').jqGrid({....});
        });
    </script>
    

    它将为您提供将一种解决方案映射到另一种解决方案的起点。

    此外,我建议您检查“单元格格式化程序/模板(自定义)”的代码,您可以在 the demos 的“功能”部分找到该代码。您将看到 Controller 可以使用CustomFormatter 定义列模型。 CustomFormatter 使用 string 属性 FormatFunctionUnFormatFunction 指定对象,这些值是您在 View 部分中定义的全局 JavaScript 函数。您可以指定custom formatters 的方式,它为您提供了在网格列中调整任何自定义 HTML 片段的方式。

    【讨论】:

    • 谢谢你,我知道我能做到,但是我花了 50 美元买了什么?
    • @ProfK:对不起,我不明白你的问题。您可以使用jqGrid 的免费开源版本。例如,我这样做。如果你有很多不熟悉 JavaScript,但又懂 C# 和 Visual Studio 的开发者,你可以购买商业版的 jqSuite。我过去只为支持 jqGrid 开发人员的版本付费,但我自己使用的是 jqGrid 的原始开源版本。您可以做出选择。
    • 我的问题是反问。我知道我可以使用免费网格及其所有优点,但我的 C# 比我的 JS 好得多,我希望使用 Razor 和服务器端代码平滑集成。我对 Trirand 的期望更高。我以前从其他供应商那里得到了更多。
    • @ProfK:我不是来自 Trirand。我了解 JavaScript 的时间也不长(大约 3 年),并且了解 C/C++/C# 和其他语言的时间要长得多。尽管如此,我还是把时间花在了研究 JavaScript,它与大多数经典计算机语言非常不同。例如没有块级变量、变量的生命周期、闭包等等。如果不了解 JavaScript 的基础知识,就无法编写出好的代码。这是我个人的看法。
    • @ProfK:您最初的问题是关于“向网格添加命令列”,我将其理解为具有按钮或链接的列 (&lt;a&gt;)。要在 jqGrid 的商业版本中实现这一点,您可以使用CustomFormatter,就像我在答案的第二部分中描述的那样。或者,您可以使用内部使用相同的 JavaScript 产品 jqGrid 的事实(请参阅我的答案的第一部分)。因此,您可以使用免费 jqGrid 找到的任何解决方案。
    猜你喜欢
    • 1970-01-01
    • 2015-08-29
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多