相关疑难解决方法(0)

使用GET从jqGrid中的列值链接到新页面

我创建了一个包含一些字段的jqGrid,例如:

job_id,名称等

我要做的是使得当点击job_id列中的值时,它会将它们重定向到:

job.php?job_id =(他们点击的值)

我开始尝试使用以下作为我的colModel:

{ name:'job_id', index:'job_id', edittype:'select', formatter:'showlink',
  formatoptions:{baseLinkUrl:'job.php'}, width:50, align:'center' }
Run Code Online (Sandbox Code Playgroud)

但是这会导致重定向到:

job.php?JOB_ID =(ROW_ID)

我做了一些搜索,发现这个软件的开源版本开发人员的帖子建议使用以下colModel和其他JS:

{ name:'job_id', index:'job_id', edittype:'select', formatter:'showlink',
  formatoptions:{baseLinkUrl:'#'}, width:50, align:'center' }

loadComplete: function() {
    var myGrid = $("#home_list");
    var ids = myGrid.getDataIDs();
    for (var i = 0, idCount = ids.length; i < idCount; i++) {
        $("#"+ids[i]+" a",myGrid[0]).click(function(e) {
            var hash=e.currentTarget.hash;// string like "#?id=0"
            if (hash.substring(0,5) === '#?id=') {
                var id = hash.substring(5,hash.length);
                var text = this.textContent;
                location.href="job.php?id="+text;
            }
            e.preventDefault();
        });
    }   
}
Run Code Online (Sandbox Code Playgroud)

但这与IE不兼容.除此之外,当在jqGrid中显示大量行时,加载需要很长时间,比如5秒+ …

jquery json hyperlink jqgrid

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

当列为null和""值时,jqGrid对JS中的列求和

我在这篇文章中找到了一个很好的方法来在javascript中对jqGrid列进行求和,如下所示:

var total = $('#grid_id').jqGrid('getCol','col_name',false,'sum');
Run Code Online (Sandbox Code Playgroud)

这很好,但我遇到的问题是我想要求和的列有时会有空格而不是数字,并且total上例中的变量返回NaN.

有谁知道如何调整这个功能,以便白色空间只是像零一样?

谢谢!

**更新**

正如Oleg在评论中指出的那样,你需要在colModel中使用格式化程序.一旦我把它formatter: 'number'放在我的colModel中,所有的空格都以零填充,它就可以工作了!请参阅示例代码:

$("#grid_id").jqGrid({
    url:'ajax_script.php?sql=' + sql1,
    height: 275,
    shrinkToFit: true,
    width: 800,
    datatype: 'xml',
    mtype: 'POST',
    colNames:["Customer","Job", "Sched QNTY Sell","Sched Total Sell"],
    colModel:[
        {name:"Customer",index:"Customer",width:"16"},
        {name:"JobNum",index:"JobNum",width:"16"},
        {name:"Sched Qnty Sell",index:"Sched Qnty Sell",width:"20", formatter: 'number'},
        {name:"Sched Total Sell",index:"Sched Total Sell",width:"20", formatter: 'number'}
    ],
    rowNum:10000,
    sortname: 'Customer',
    sortorder: 'asc',
    viewrecords: true,
    gridview: true,
    caption: 'Scheduled to Bill',
    footerrow : true,
    altRows : true,
    gridComplete: function(){
        $(this).jqGrid('footerData','set',{'Customer':'TOTALS:'});
        var …
Run Code Online (Sandbox Code Playgroud)

jquery sum jqgrid

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

可以在没有userdata服务器请求的情况下填充jqGrid摘要页脚吗?

我已经填写了本网站上提出的每个问题,与填充jqGrid摘要页脚有关,而不是userdata是服务器请求.和jqGrid wiki资源,只是找不到答案.这可能吗?

我以许多典型的方式使用jqGrid作为我的管理门户的一部分,但有一个特别的用途,我希望jqGrid的外观和感觉开始作为一个空的UI容器的一些用户交互通过一个表单添加行发布提交(感谢Oleg下面的优秀脚本),但只需添加行并使用新添加的行中的值更新摘要页脚.我在colModel中有'summarytype:'sum"',"grouping:true",footerrow:true,userDataOnFooter:true,altRows:true,在网格选项中但是除了本地数据字符串中userdata提供的初始值之外,摘要页脚值永远不会改变.似乎没有人想触及这个主题.是因为jqGrid的主要特性是它的数据库驱动功能吗?我在其数据库驱动的站点中使用了大约15个jqGrid实例(其中许多都在生产服务中)但是为了一致性需要使用它(我的所有UI都在jqTabs中)最初作为没有服务器请求的客户端UI (所有内容将在稍后保存到db)但是我正在试图以编程方式操作摘要页脚并仅由客户端操作.任何人都可以建议如何在添加新行时更新摘要页脚的值,其中的值将与任何现有行相加,并且不涉及任何发布到服务器,只是网格内的更新?

提供的代码有点长,主要基于用户Oleg的解决方案,用于从模态表单添加行而不发布到服务器.我已经将本地数组数据更改为JSON字符串,以便更好地理解我习惯于xml的符号.jsonstring使用一个默认行初始化网格,供用户编辑.我遗漏了jsonReader,因为网格不会用它渲染.

简而言之,我想要做的是在向网格添加新行(此时没有发布到服务器)或编辑或删除时更新摘要页脚.当达到某组值时,显示的按钮会提示用户将行数据保存到db.

var lastSel, mydata = { "total": 1, "page": 1, "records": 1, "rows": [{ "id": acmid, "cell": ["0.00", "0.00", "0.00", "0.00"]}], "userdata":{ "mf": 0.00, "af":0.00,"pf":0.00,"cf":0.00 }}

grid = $("#ta_form_d"),
    onclickSubmitLocal = function (options, postdata) {

        var grid_p = grid[0].p,
            idname = grid_p.prmNames.id,
            grid_id = grid[0].id,
            id_in_postdata = grid_id + "_id",
            rowid = postdata[id_in_postdata],
            addMode = rowid === "_empty",
            oldValueOfSortColumn;

        // postdata has row id property with another name. we fix it:
        if (addMode) {
            // …
Run Code Online (Sandbox Code Playgroud)

summary footer jqgrid user-data

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

有没有办法将摘要行添加到jqgrid treeview

我正在使用带有treegrid视图的jqgrid,并且大多数列是在树上聚合的数字.缺少的一个部分是总行来聚合顶级层次结构.有没有内置到jqgrid中的东西来支持这个或者应该传递给:

jquery jqgrid treegrid column-aggregation

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

jqgrid检索单元格的数据并对其进行操作

我想从dataEvents事件中检索用户输入的值.我想只允许数字0-24,如果用户插入一个像4,5(德语写作)的数字,我想用"."替换",".因此将"4,5"转换为"4.5".

但我正在努力获取用户输入的数据.我正在使用的方法总是返回空白.

colModel:[
    {name:'sum',index:'sum', width:45, editable: true, sortable:false,
     editoptions: { dataEvents: [ 
                        {
                            type: 'keypress', // keydown
                            fn: function(e) {
                                // console.log('keypress');
                                var v=$(e.target).text();
                                alert(v); // v is empty.
                                //reset the target value, actually I want to replace
                                // enter code here a comma with a point
                                // only allow the numbers 0 - 24
                            }
                        }
                    ] 
                  }
    },
],
Run Code Online (Sandbox Code Playgroud)

jquery jqgrid

0
推荐指数
1
解决办法
7820
查看次数