我正在加载一个包含大约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,
如果有其他问题,请告诉我。
附言——如果它对你有帮助,就把它标记为答案。