自动将jqgrid滚动到具有存储数据的单元格的当前日期列和闪烁效果

Automatic scroll jqgrid into the current day column and blink effect of the cell that has a stored data

本文关键字:当前日期 单元格 闪烁 数据 存储 jqgrid 滚动      更新时间:2024-03-21

我正在加载一个包含大约38列数据的jqgrid。前6列被冻结,其他列被解冻(这是一个日期和月份,取决于组合框。请查看此处的示例图像)。当数据加载完jqgrid后,我想自动将jqgrids滚动到被冻结列的最后一列旁边的当月当天的特定列。滚动将取决于当前日期(例如:如果今天是2012年7月26日,它将自动滚动到指定日期,依此类推)。

另一种是,当当天收到数据时,该单元格将闪烁为红色和绿色(那些有数据或值的单元格将闪烁成两种颜色),诸如此类。

有人知道怎么做吗
谢谢请看这里的布局示例图片。

我使用此函数滚动到当前日期列

function scrollToCurrentDate(currentDate,jqGrid){
    var width =0 ;
    var frozenWidth = 0;
    for(var i =0,col;col=jqGrid[0].p.colModel[i];i++){
        width += $("#"+jqGrid[0].id+"_"+col.name)[0].offsetWidth;
        if(col.name.indexOf('Qty')==0){
            var day = col.name.replace('Qty','');
            var date = $("#CurrentYear").val()+'-'+$("#CurrentMonth").val()+'-'+(parseInt(day)<10?"0"+day:day);
            if(currentDate == date){  
                var columnWidth = $("#"+jqGrid[0].id+"_"+col.name)[0].offsetWidth;
                $(".ui-jqgrid-hdiv").scrollLeft((width-columnWidth)-frozenWidth);
                $(".ui-jqgrid-bdiv").scrollLeft((width-columnWidth)-frozenWidth);
                break;
            }
        }
        else{
          frozenWidth += $("#"+jqGrid[0].id+"_"+col.name)[0].offsetWidth;    
        }
    }
}

然后我在gridComplete:中调用这个函数

scrollToCurrentDate(currentDate,$("#table"));

在眨眼效应中,这是代码。

var blinkStatus=false;
var blink = function(){
        //$(".blinker").toggle();
        $(".txtBlinker").css("background-color", blinkStatus?"#CFC":"#FF4F4F");
        blinkStatus=!blinkStatus;
    };
    $(document).ready(function() {
        setInterval(blink, 1000);
    });

好吧,我想让你自己写代码,我可以给你一些想法。

实现jqgrid的LoadComplete函数,检查哪一列有当前日期,并在该列上调用jquery的焦点方法。

它会像这个

var Id=//具有当前日期列的行的Id。

通过使用jquery选择器来获取该列,您知道,使用tr和td,它们将有一些id,检查开发工具,然后在该列上调用jquery的焦点方法

或者,如果您希望该列具有闪烁效果,

检查这个

http://archive.plugins.jquery.com/project/blink,

如果有其他问题,请告诉我。

附言——如果它对你有帮助,就把它标记为答案。