オンラインで優れたチュートリアルをいくつか見たことがありますが、どういうわけか、適用できなかったか、適用方法がわかりませんでした。
とにかく、これは私がやりたいことです:
ユーザーは開始週と終了週を追加します
したがって、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=4 (単一の数字) と end=18 (2 桁の数字) の場合、CODE と SITE を除いて、週の colModel には何も得られませんでした。通常、start=1 または start と 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 '}';
?>