小编Ole*_*leg的帖子

是否应该将jqGrid的使用addJSONData替换为setGridParam()和trigger('reloadGrid')的用法?

我最近写了一个问题" jqGrid显示默认"加载"更新表/自定义更新时的消息 "的答案.在编写答案时,我想:为什么他使用addJSONData()函数刷新网格中的数据而不是相对于setGridParam()更改URL 并刷新jqGrid数据相对于trigger('reloadGrid')?一开始我想推荐使用'reloadGrid',但在考虑了这一点后,我明白我不太确定最好的方法是什么.至少,我不能用两句话解释为什么我更喜欢第二种方式.所以我认为它可能是一个有趣的讨论主题.

确切地说:我们有一个典型的情况.我们有一个网页,其中包含至少一个jqGrid和一些其他控件,如组合框(选择),复选框等,这使用户可以更改jqGrid中显示的信息的范围.通常我们定义一些事件处理程序jQuery("#selector").change(myRefresh).keyup(myKeyRefresh) ,我们需要根据用户的选择重新加载jqGrid容器.

在阅读并分析来自其他用户输入的信息后,我们可以至少以两种方式刷新jqGrid容器:

  1. 调用$.ajax()手动然后在成功内部或完成$.ajax调用句柄jQuery.parseJSON()(或eval),然后调用jqGrid的addJSONData函数.我在stackoverflow.com上发现了很多使用addJSONData的例子.
  2. 根据用户的输入更新jqGrid的URL,将当前页码重置为1,并可选择更改网格的标题.所有这些都可以通过setGridParam()和可选的setCaption() jqGrid方法完成.最后调用网格的触发器('reloadGrid')函数.要构造url,顺便说一下我主要使用jQuery.param函数来确保,我已经为encodeURIComponent正确打包了所有url参数.

我希望我们讨论这两种方式的优缺点.我目前使用第二种方式,所以我将从这一方面的优势开始.

可以说:我调用现有的Web服务,将接收的数据转换为jqGrid格式并调用addJSONData.这就是我使用addJSONData方法的原因!

好的,我会选择另一种方式.jqGrid可以直接在Web服务上调用并在网格内填充结果.有很多jqGrid选项,允许您自定义此过程.

首先,可以删除或重命名发送到服务器关于任何标准参数prmNames的jqGrid的选项或对于添加任何额外的参数POSTDATA选项(参见http://www.trirand.com/jqgridwiki/ doku.php?id = wiki:options).$.ajax通过定义serializeGridData()函数(jqGrid的另一个选项),可以在jqGrid发出相应请求之前立即修改所有构造的参数.更重要的是,可以$.ajax通过设置jqGrid的ajaxGridOptions选项来更改每个参数.我用ajaxGridOptions: {contentType: "application/json"}例如作为一般设置$.jgrid.defaults.该ajaxGridOptions选项是非常强大的.对于ajaxGridOptions …

jquery jqgrid

28
推荐指数
1
解决办法
9918
查看次数

在没有AddJsonRows的情况下在jQgrid中加载本地JSON数据

我正在使用方法addJsonRows将本地数据添加到jQgrid.由于此方法禁用排序,我需要另一种解决方案.一个限制:我无法设置url并从服务器获取数据,因为数据是通过另一个组件传递的.

在片段下方启发了案例.注释行显示限制,我通过定义一个局部变量来替换它以获得测试用例.

<script type="text/javascript" language="javascript">
    function loadPackageGrid() {
    // Get package grid data from hidden input.
    // var data = eval("("+$("#qsmId").find(".qsm-data-packages").first().val()+")");
        var data =  {
            "page": "1",
            "records": "2",
            "rows": [
                { "id": "83123a", "PackageCode": "83123a" },
                { "id": "83566a", "PackageCode": "83566a" }
            ]
        };

        $("#packages")[0].addJSONData(data);
    };

    $(document).ready(function() {
        $("#packages").jqGrid({
            colModel: [
                { name: 'PackageCode', index: 'PackageCode', width: "110" },
                { name: 'Name', index: 'Name', width: "300" }
            ],
            pager: $('#packagePager'),
            datatype: "local",
            rowNum: 10000,
            viewrecords: true,
            caption: "Packages",
            height: …
Run Code Online (Sandbox Code Playgroud)

jqgrid

28
推荐指数
1
解决办法
5万
查看次数

ASP.NET MVC 2.0在jqgrid中搜索的实现

嗨我正在尝试使用MVC 2 IN .NET(VS 2008)在jqgrid中使用单列搜索这是我到目前为止的代码,但我需要一个示例来匹配它或者我缺少的一个提示

jQuery("#list").jqGrid({
    url: '/Home/DynamicGridData/',
    datatype: 'json',
    mtype: 'POST',
    search: true,
    filters: {
        "groupOp":"AND",
        "rules": [
            {"field":"Message","op":"eq","data":"True"}
        ]
    },
    multipleSearch: false,
    colNames: [ 'column1', 'column2'],
    colModel: [
        { name: 'column1', index: 'column1', sortable: true, search: true,
          sorttype: 'text', autoFit: true,stype:'text',
          searchoptions: { sopt: ['eq', 'ne', 'cn']} },
        { name: 'column2', index: 'column2', sortable: true,search: false,
          sorttype: 'text', align: 'left', autoFit: true}],
    pager: jQuery('#pager'),
    rowNum: 10,
    rowList: [10, 60, 100],
    scroll: true,
    sortname: 'column2',
    sortorder: 'asc',
    gridview: true, …
Run Code Online (Sandbox Code Playgroud)

search linq-to-entities entity-framework jqgrid asp.net-mvc-2

25
推荐指数
1
解决办法
3万
查看次数

jqGrid:POST数据到服务器以获取行数据(过滤和搜索)

我有一个这样的表格:

<form id='myForm'>
<input type='text' name='search' />
<input type='text' name='maxPrice' />
</form>
Run Code Online (Sandbox Code Playgroud)

和我的jqGrid表:

<table id='myGrid'></table>
Run Code Online (Sandbox Code Playgroud)

我需要POST(不要GET)数据从myForm我的服务器方法,以获取行数据并填充网格.到目前为止,我还没有能够让jqGrid发布任何东西.我仔细检查了我的数据序列化,并正确地序列化我的表单数据.这是我的jqGrid代码:

$("#myGrid").jqGrid({
    url: '/Products/Search") %>',
    postData: $("#myForm").serialize(),
    datatype: "json",
    mtype: 'POST',
    colNames: ['Product Name', 'Price', 'Weight'],
    colModel: [
        { name: 'ProductName', index: 'ProductName', width: 100, align: 'left' },
        { name: 'Price', index: 'Price', width: 50, align: 'left' },
        { name: 'Weight', index: 'Weight', width: 50, align: 'left' }
    ],
    rowNum: 20,
    rowList: [10, 20, 30],
    imgpath: gridimgpath,
    height: 'auto',
    width: '700',
    //pager: $('#pager'), …
Run Code Online (Sandbox Code Playgroud)

jquery jqgrid

20
推荐指数
1
解决办法
6万
查看次数

复选框为true时突出显示行

有人可以帮助我,我有一个jqgrid,如果复选框为true,我想突出显示该行,谢谢!!

在此输入图像描述

这就是我想在这个项目中做出的......

function loadjqGrid(jsonGridData){
    var xaxis=1300
    var yaxis = $(document).height();
    yaxis = yaxis-500;
    getGrids();     
    $("#maingrid").jqGrid({
        url:'models/mod.quoservicetypedetails.php?ACTION=view',
        mtype: 'POST',
        datatype: 'xml',
        colNames:getColumnNames(jsonGridData),
        colModel :[ 
            {name:'TypeID', index:'TypeID', width:350,hidden:true, align:'center',sortable:false,editable:true,
            edittype:"select",editoptions:{value:getTypeID()},editrules: { edithidden: true}},  
            {name:'Order1', index:'Order1', width:80, align:'center',sortable:false,editable:true,edittype:"textarea",editoptions:{size:"30",maxlength:"30"}},                  
            {name:'Order2', index:'Order2', width:80, align:'center',sortable:false,editable:true,edittype:"textarea",editoptions:{size:"30",maxlength:"30"}}, 
            {name:'Order3', index:'Order3', width:80, align:'center',sortable:false,editable:true,edittype:"textarea",editoptions:{size:"30",maxlength:"30"}},                      
            {name:'Description', index:'Description', width:140, align:'center',sortable:false,editable:true,
            edittype:"textarea",editoptions:{size:"30",maxlength:"30"}},                    
            {name:'Notes', index:'Notes', width:120, align:'center',sortable:false,editable:true,edittype:"textarea",editoptions:{size:"30",maxlength:"30"}}, 
            {name:'Measure', index:'Measure', width:80, align:'center',sortable:false,editable:true, edittype:"textarea", editoptions:{size:"30",maxlength:"30"}},                  
            {name:'UnitPrice', index:'UnitPrice', width:100, align:'center',sortable:false,editable:false,edittype:"textarea",editoptions:{size:"30",maxlength:"30"}},  
            {name:'Remarks', index:'Remarks', width:140, align:'center',sortable:false,editable:true,edittype:"textarea",editoptions:{size:"30",maxlength:"30"}}, 
            {name:'UnitCost', index:'UnitCost', width:100, align:'center',sortable:false,editable:true,edittype:"textarea",editoptions:{size:"30",maxlength:"30"}},     
            {name:'Service', index:'Service', width:120, align:'center',sortable:false,editable:true,edittype:"textarea",editoptions:{size:"30",maxlength:"30"}}, 
            //If the GroupHeader is true the …
Run Code Online (Sandbox Code Playgroud)

javascript php jqgrid jqgrid-php

19
推荐指数
1
解决办法
2万
查看次数

在VS 2012 RC中引用TPL数据流和TPL的问题

我刚刚将Visual Studio 11 Beta升级到新的Visual Studio 2012 RC,并且在引用TPL Dataflow时遇到了问题.

首先,我尝试通过添加框架中的引用,像之前一样引用Dataflow.但是当我尝试这样做时,我得到一个错误框:

无法添加对"System.Threading.Tasks.Dataflow"的引用.

然后整个Visual Studio冻结.

在阅读了用于.NET Framework 4.5 RC的MEF和TPL Dataflow NuGet包之后,我假设在引用列表中显示的Dataflow版本是先前安装的某种工件.所以,我尝试使用NuGet的Dataflow,这似乎有效,直到我真的尝试编译我的代码,因为我收到了一个错误:

类型'System.Threading.Tasks.Task'在未引用的程序集中定义.您必须添加对程序集'System.Threading.Tasks,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'的引用.

这很令人困惑,因为Task在mscorlib中,不需要其他引用.但是System.Threading.Tasks在引用列表中有一个引用程序集,所以我尝试添加它.不幸的是,一个熟悉的错误表明

无法添加对"System.Threading.Tasks"的引用.

然后Visual Studio再次冻结.

难道我做错了什么?如何在VS 2012 RC中使用TPL Dataflow?

.net task-parallel-library nuget tpl-dataflow visual-studio-2012

15
推荐指数
1
解决办法
1万
查看次数

JQGrid - 我们如何制作自定义行详细信息

有人给我一些示例代码来使我的网格像这样.我在文档中读到jqgrid只支持subgrid.

喜欢这个页面在Hierachy http://trirand.net/demoaspnetmvc.aspx

谢谢 !

jqgrid subgrid

11
推荐指数
1
解决办法
8914
查看次数

在JQGrid中,是否可以在列格式化程序以外的分组摘要单元格中使用不同的格式化程序?

是否可以为数据行和摘要行使用不同的格式化程序?例如,我想将摘要信息(summaryType = count)添加到复选框格式化列,摘要值显示为选中复选框.有任何想法吗?

kind,

你可以从这里看到截图:

在此输入图像描述

jquery jqgrid

10
推荐指数
2
解决办法
9944
查看次数

如何在jqgrid中有2个寻呼机,一个在顶部,一个在底部?

这是我的代码

 $(document).ready(function () {
     $('#jqgProducts').jqGrid({
         url: '/Home/GridSampleData/', // url from wich data should be requested
         datatype: 'json',             // type of data
         mtype: 'GET',                 // url access method type
         colNames: ['userid', 'username', 'email', 'contact', 'password'],
         colModel: [                   // columns model
             { name: 'userId', index: 'userId', align: 'left',
               editable: false },
             { name: 'username', index: 'username', align: 'left',
               editable: true, edittype: 'text',
               editoptions: { maxlength: 20 },
               editrules: { required: true} },
             { name: 'email', index: 'email', align: 'left', editable: true,
               edittype: …
Run Code Online (Sandbox Code Playgroud)

model-view-controller jqgrid pager

9
推荐指数
1
解决办法
8514
查看次数

在jqGrid中启用搜索隐藏列

我的jqGrid中有一堆隐藏的列,我要在其上启用搜索,

例如.

{ name: 'Col1', width: 200, hidden: true, search: true },
{ name: 'Col2', width: 200, hidden: true, search: true },
{ name: 'Col3', width: 200, hidden: true, search: true }
Run Code Online (Sandbox Code Playgroud)

但是此列不显示搜索弹出窗口.

有人可以帮忙吗?

jqgrid

9
推荐指数
1
解决办法
5197
查看次数