我想请求帮助来验证 ParamQuery 库的行为,我不确定与什么相关:
我正在尝试基于一年中的每一周实现一个 ColModel,这个 ColModel 是动态的,并且会根据年份而变化,因为每周都会有不同的日期,并且每周都会从不同的日期开始。
我已经使用网站上的示例之一成功实现了与动态模型连接的静态 colModel。
使用的示例如下:https://paramquery.com/demos/editing_instant
对于这个确切的模型,我使用 PHP 根据选定的日期附加新列。通过使用以下结构:
此 ColModel 是使用 PHP 正确设计的,并且大多数情况下都能正确显示(请参阅附件)。
但是,当更改屏幕尺寸或滚动表格时,标题将开始限制并显示不正确:
有人知道如何解决这个问题吗?或者是否与显示属性有关?
生成周和天的 PHP 代码:
$respuesta = array();
$semanaAct = 55;
$CambioSemana = 0;
$Fin = '2018-02-26';
$begin = new DateTime( '2018-02-01' );
$end = new DateTime( $Fin );
$Realend = new DateTime( $Fin );
$end = $end->modify( '+1 day' );
//$begin = $begin->modify( '-1 day' );
$interval = new DateInterval('P1D');
$daterange = new DatePeriod($begin, $interval ,$end);
foreach($daterange as $date){
$SemanaFecha = $date->format("W");
if($SemanaFecha==$semanaAct){
$dias[] = array("title" =>$date->format("d-m"),"week" => $date->format("W"));
$semanaar["colModel"]= $dias;
array_push($respuesta, "Day: ".$date->format("d-m"). " Week: ".$date->format("W") );
$CambioSemana = 2;
}
else{
if($CambioSemana == 2){
array_push($rows, $semanaar);
}
$semanaAct = $date->format("W");
$semanaar= ["title"=> "Week ".$semanaAct, "dataType"=> "string","colModel"=> ""];
$ContadorSemanas++;
$dias = array();
$dias[] = array("title" =>$date->format("d-m"),"week" => $date->format("W"));
$semanaar["colModel"]= $dias;
$CambioSemana = 1;
}
if( $date->format("d-m") == $Realend->format("d-m") ){
array_push($respuesta, "Final 11");
array_push($rows, $semanaar);
}
//array_push($respuesta, "Semana: ".$SemanaFecha);
}
return "[{\"columns\":".json_encode($GLOBALS['rows']). "}]";
生成 ColModel 后,将使用以下命令刷新表:
var obj1 = $.parseJSON(result);
//console.log(obj1);
var columns = obj1[0].columns;
$("#grid_editing").pqGrid( "option" , "colModel", colModelTemp );
$grid.pqGrid( 'refresh' );
它与 JavaScript 上的 VirtualX 属性有关,通过删除此选项,滚动可以完美地工作。