我在网上看到了一些好的教程......但不知何故我无法申请或不知道如何申请。
无论如何,这就是我想做的:
用户将添加开始周和结束周
所以 colModel 将是:
- id,例如 int_weekid
- 从开始周和结束周生成,例如第 2 周到第 5 周
colModel 将 > int_weekid | 第 2 周 | 第 3 周 | 第 4 周 | 第 5 周
我尝试这样做,但出了点问题。有人可以帮助我吗?请@oleg 帮忙。
jQuery(document).ready(function(){
  var start = $("#weekstart").val();
  var end = $("#weekend").val();
  var lastsel2;  
  var j=0;
  var ColModel1 = [
    {name:'ID',index:'int_userid', hidden:false, align:'center', width:30, search:false}, 
    for (j=start;j<=end;j++) {
      {name:'WEEK"+j+"',index:'WEEK"+j+"', align:'center', width:30, search:false},;
    }
  ];
  jQuery("#grn_transac").jqGrid({
    url:'transaction/grn_transacdata2.php',
    datatype: "json",
    colModel: ColModel1,
    pager: '#pager', //pagination enable
    rowNum:30,
    rowList:[10,20,30],
    width:950,
    height: 'auto',
    //sortname: 'int_weekid',
    sortorder: 'DESC',
  }); /* end of jqgrid */
}); 
更新:
成功动态添加 colModel 后,我发现了一个奇怪的问题......假设我在 2012 年有 50 周,当我把 start=1 和 end=50 没问题时,一切看起来都很好.. 但是当我键入值时对于 start=4(单个数字)和 end=18(两位数),除了 CODE 和 SITE 之外,我一周 colModel 没有得到任何东西。如果它 start=1 或 start=1 或两者都有,我通常不会遇到任何问题和 end是单数还是两者都是双数..下面是我的代码..希望有人可以帮助我..@owlwark,@oleg
<input name="mula" type="text" id="mula" />
<input name="akhir" type="text" id="akhir" />
<input name="btn_cons" type="button" id="btn_cons" value="SUBMIT" />
<script type="text/javascript">  
<!-- Connected Consumers Trend -->
jQuery(document).ready(function(){
  $("#btn_cons").click(function(){
  $("#production").jqGrid('GridUnload');
    var mula = $("#mula").val();
    var akhir = $("#akhir").val(); 
    var projek = 21;
    var tahun = 2013; 
    var ColModel1 = [];
 ColModel1.push({name:'CODE',index:'txt_site_code', hidden:false, align:'center', width:70 });
 ColModel1.push({name:'SITE',index:'txt_site_name', hidden:false, align:'left', width:190 });  
     for (var j = mula; j<=akhir; j++) {
     ColModel1.push({name:'WEEK'+j,index:'WEEK'+j, align:'center', width:60 });
      }   
    var lastsel2;   
    jQuery("#production").jqGrid({
      url:'dash/production/call_data.php?start='+mula +'&end='+akhir +'&project='+projek +'&year='+tahun,
      datatype: "json",
      colModel: ColModel1,
      pager: '#pager', //pagination enable
      rowNum:30,
      rowList:[10,20,30],
      width:1000,
      height: 'auto',
      shrinkToFit:false,
      //sortname: 'int_userid',
      sortorder: 'DESC',
      hidegrid: false,  //show/hide  grid button on caption header
      viewrecords: true, //display the number of total records
     // editurl:"transaction/grnedit.php",
      loadtext: "Loading Data, Please Wait...",
      rownumbers:true, // add row numbers on left side
      caption: '  Consumer',
    }); /* end of jqgrid */
 }); //end btn_cons           
});  /*end of document ready*/
    </script>
<h3>CONSUMER</h3> 
  <div id="prodgrid" class="hiddenDiv" align="center">
  <table id="production" class="scroll" cellpadding="0" cellspacing="0"></table>
  <div id="pager" class="scroll" style="text-align:center;"></div>
  </div>     
这是我的数据文件 call_data.php,我在生成页面总数等方面也有问题......:
<?php //MARTIN
require_once('../../Connections/myconn.php');
$start   = $_REQUEST['start']; 
$end     = $_REQUEST['end']; 
$project = $_REQUEST['project']; 
$year    = $_REQUEST['year']; 
$query = mysql_query(' CALL martin ('.$start.', '.$end.', '.$year.', '.$project.');');
$i=0;
$j=0;
while($row = mysql_fetch_array($query,MYSQL_ASSOC)) {
    $rows[$i]['id']=$row[txt_site_code]; 
     $rows[$i]['cell']=array($row[txt_site_code],$row[txt_site_name]);
      for ($j=$start; $j<=$end;$j++) {
      array_push($rows[$i]['cell'], $row['WEEK'.$j]);
      }
    $i++;
}
 //this part I dunno how to create it dynamically 
echo '{
   "page": "1", 
   "total": "1", 
    "records": "1",
    "rows" : ';
echo json_encode($rows); 
echo '}'; 
?>