相关疑难解决方法(0)

jqGrid:根据列名称的行单元格值更改行的背景颜色

jqGrid有一个名为Posted的列.根据客户如何配置网格,它可以定位在不同的位置,但始终保持不变.

如果已发布列的值为True,我需要更改行的背景颜色

我在下面尝试了colmodel但是alert(rdata.Posted)显示总是未定义.

如果此行中的已发布列的值为true,如何更改行的背景颜色?

我查看了许多Oleg和其他改变背景颜色的解决方案,但他们使用的是硬编码列号.

colModel: [

{"cellattr":function(rowId, tv, rawObject, cm, rdata) {  
if (rdata.Posted)
    return 'class="jqgrid-readonlycolumn"';
    return '';
      }
  ,"label":"Klient","name":"Klient_nimi","classes":null,"hidden":false},


{"label":null,"name":"Posted","editable":true,"width":0,
"classes":null,"hidden":true}],
...
Run Code Online (Sandbox Code Playgroud)

更新

在update2中,Oleg建议使用rowattr.我还需要在操作列中隐藏内联删除按钮和自定义发布按钮.我在loadComplete下面是usijng代码.如何使用rowattr实现这一点?

var LoadCompleteHandler = function () {
    var iCol = getColumnIndexByName($grid, 'Kinnitatud'),
      postedDateCol = getColumnIndexByName($grid, 'Kinkuup'),
      cRows = $grid[0].rows.length,
      iRow,
      row,
      className,
      isPosted,
      mycell,
      mycelldata,
      i, count,
      cm = $grid.jqGrid('getGridParam', 'colModel'),
      l,
      iActionsCol = getColumnIndexByName($grid, '_actions');
    l = cm.length;
    if (iCol > 0 || postedDateCol > 0) {
        for (iRow = 0; iRow < cRows; …
Run Code Online (Sandbox Code Playgroud)

javascript jqgrid

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

jqgrid showLink

我使用showlink formatter将列作为链接​​.有什么方法可以在我点击它时调用javascript函数.

现在这是我的代码

$("#list").jqGrid(  

{
     url: '..',
    datatype: 'json', //We specify that the datatype we will be using will be JSON
    colNames:['ID', 'User Name'],      
                colModel :[
     {name:'id',index:'id', width:110, sorttype:"string", formatter: 'showlink', formatoptions:{baseLinkUrl:'index.cfm'}},
Run Code Online (Sandbox Code Playgroud)

...

我不想使用baselinkUrl.相反,我可以在点击URL时调用Javascript函数吗?当我使用'showlink'格式化程序时,我的表单数据似乎也没有发布到下一个屏幕.

jquery jqgrid

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

jqGrid在编辑时访问单元格数据

我目前正在使用afterSaveCell手动更新网格中的某些单元格.如果用户使用enter保存当前编辑的单元格,我可以正常工作.

不幸的是,如果他们点击或跳出单元格,他们正在直接编辑到另一个单元格,我不能再抓取新编辑的单元格的单元格值,因为getCell只返回输入控件的html.

总之,即使在编辑单元格时,有没有办法访问单元格的值?

jQuery(document).ready(function () {
    var mydata = [
        {id:"1", invdate:"2007-10-01",name:"test",  note:"note",  amount:"200.00",tax:"10.00",total:"210.00"},
        {id:"2", invdate:"2007-10-02",name:"test2", note:"note2", amount:"300.00",tax:"20.00",total:"320.00"},
        {id:"3", invdate:"2007-09-01",name:"test3", note:"note3", amount:"400.00",tax:"30.00",total:"430.00"},
        {id:"4", invdate:"2007-10-04",name:"test",  note:"note4", amount:"200.00",tax:"10.00",total:"210.00"},
        {id:"5", invdate:"2007-10-05",name:"test5", note:"note5", amount:"300.00",tax:"20.00",total:"320.00"},
        {id:"6", invdate:"2007-09-06",name:"test",  note:"note6", amount:"400.00",tax:"30.00",total:"430.00"},
        {id:"7", invdate:"2007-10-04",name:"test7", note:"note7", amount:"200.00",tax:"10.00",total:"210.00"},
        {id:"8", invdate:"2007-10-03",name:"test8", note:"note8", amount:"300.00",tax:"20.00",total:"320.00"},
        {id:"9", invdate:"2007-09-01",name:"test",  note:"note9", amount:"400.00",tax:"30.00",total:"430.00"},
        {id:"10",invdate:"2007-09-08",name:"test10",note:"note10",amount:"500.00",tax:"30.00",total:"530.00"},
        {id:"11",invdate:"2007-09-08",name:"test11",note:"note11",amount:"500.00",tax:"30.00",total:"530.00"},
        {id:"12",invdate:"",name:"TOTAL",  note:"",amount:"",tax:"",total:""}
    ];

    var grid = $("#list");

    grid.jqGrid({
        cellsubmit: 'remote',
        cellurl: '/Example/GridSave',
        datatype: "local",
        data: mydata,
        mtype: 'POST',
        colNames: ['Inv No', 'Date', 'Client', 'Amount', 'Tax', 'Total', 'Notes'],
        colModel: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jqgrid

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

浏览器内存使用情况比较:内联onClick与使用JQuery .bind()

我在页面上有大约400个元素,它们有点击事件(4个不同类型的按钮,每个按钮有100个实例,每个类型的点击事件执行相同的功能,但参数不同).

我需要尽可能减少对性能的任何影响.通过将点击事件单独绑定到每个(使用JQuery),我采取了什么样的性能(内存等bind())?onclick相反,在每个按钮上调用内联函数会更有效吗?

编辑以澄清:):
我实际上有一个表(使用JQGrid生成),每行有数据列,后跟4个图标'按钮'列 - 删除和其他三个使AJAX调用回服务器的业务函数:

|id|description|__more data_|_X__|_+__|____|____|
-------------------------------------------------
| 1|___data____|____data____|icon|icon|icon|icon|  
| 2|___data____|____data____|icon|icon|icon|icon|   
| 3|___data____|____data____|icon|icon|icon|icon|   
| 4|___data____|____data____|icon|icon|icon|icon|    

我正在使用JQGrid的自定义格式化程序(http://www.trirand.com/jqgridwsiki/doku.php?id=wiki:custom_formatter)在每行中构建图标"按钮"(我无法从服务器检索按钮HTML).

在我的自定义格式化程序函数中,我可以轻松地在内联中构建图标HTML和代码,onclick使用适当的参数调用相应的函数(来自该行中其他列的数据).我使用行列中的数据作为我的函数的参数.

    function removeFormatter(cellvalue, options, rowObject) {       
        return "<img src='img/favoritesAdd.gif' onclick='remove(\"" + options.rowId + "\")' title='Remove' style='cursor:pointer' />";
    }
Run Code Online (Sandbox Code Playgroud)

所以,我可以想到两个选项:
1)内联onclick,如上所述 -
或 -
2)delegate()(如下面的答案所述(非常感谢!))

  1. 使用自定义格式化程序构建图标图像(每种图标类型都有自己的类名).
  2. data()afterInsertRow JQGrid事件中将图标设置为其参数.
  3. delegate()处理程序应用于特定类的按钮(如下文所述@KenRedler)
>    $('#container').delegate('.your_buttons','click',function(e){  
>      e.preventDefault();  
>      var your_param = $(this).data('something'); // store your params in data, perhaps …
Run Code Online (Sandbox Code Playgroud)

jquery memory-management onclick jqgrid

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

在jqgrid中使用锚点和图像的Showlink自定义格式化程序

我有一个showlink的自定义格式化程序,下面打开新的页面是代码和屏幕截图

{name:'cfgName',index:'cfgName', width:90, align:"left", formatter: 'showlink', formatoptions:
                                                                            {
                                                                                baseLinkUrl:'javascript:',
                                                                                showAction: "goToViewAllPage('",
                                                                                addParam: "');"

                                                                            }},
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想要的是如果Last Updated time和今天的日期的差异超过10天它应该warning在之前显示图像Name

我编写了下面的函数来计算2个日期的差异,这里是演示,但我需要帮助放置showlink名称前面的图像,如果no of days count在网格中> 10

function diffOf2Dates(todaysDate,configDate)
{
/*var udate="2011-08-18 11:49:01.0";
var configDate=new Date(udate);*/

var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
var firstDate = todaysDate; // Todays date
var secondDate = new Date(configDate);

var diffDays = Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay));
console.info(firstDate+", "+secondDate);
//console.info(Math.ceil(diffDays));

return Math.ceil(diffDays);
}
Run Code Online (Sandbox Code Playgroud)

这是我的jqGrid代码

var grid = …
Run Code Online (Sandbox Code Playgroud)

jquery jqgrid

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

JqG​​rid需要超链接 - 需要通过Jquery捕获值

我的代码中有以下内容:

      { name: 'ID', index: 'ID', width: 40 , formatter: 'showlink', search: false, formatoptions: { baseLinkUrl: '/Program/EditMicro'} },
Run Code Online (Sandbox Code Playgroud)

当我点击PNum时,会发生什么事情,它会转到以下actionresult我的控制器:

    /Program/EditMicro
Run Code Online (Sandbox Code Playgroud)

我想要的是通过Jquery在所选内容(选择了什么ID)上捕获该信息,因为我想在发送到以下ActionResult之前做一些json

    /Program/EditMicro
Run Code Online (Sandbox Code Playgroud)

所以,回顾一下,无论如何都要捕获超链接点击的价值,然后我可以在Jquery中捕获它.

先感谢您

jquery jqgrid

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

标签 统计

jqgrid ×6

jquery ×5

javascript ×2

memory-management ×1

onclick ×1