0

初期化中に css 属性が設定されると、正常に機能し、関数から開始されたときにセルの色と背景も変更されます。しかし、列を並べ替えると、関数から設定されたすべての色が消えて、通常のグリッドに戻ります。

<script>
var Mydata =[
  {
    "id":"560058",
    "nm" : "L 41971",
    "temp" : "21.2",
    "ignition" : "off",
    "pos_x" : "55.2024832",
    "pos_y" : "24.9640256",
    "drv" : "",
    "pos_s" : "0",
    "param24" : "0",
    "param240" : "0",
    "pwr_ext" : "12.825"
  },
  {
    "id":"560059",
    "nm" : "L 41972",
    "temp" : "21.2",
    "ignition" : "off",
    "pos_x" : "55.2024832",
    "pos_y" : "24.9640256",
    "drv" : "",
    "pos_s" : "0",
    "param24" : "0",
    "param240" : "0",
    "pwr_ext" : "12.825"
  }
];
var grid = $("#live_view");
grid.jqGrid({
  height: '100%',
  width: '700',
  datatype: "local",
  loadonce: true,
  data : Mydata,
  gridview: true,
  colNames: ['Name', 'Temperature', 'Ignition', 'lat', 'lon', 'Driver', 'Speed', 'param24', 'movement', 'pwr_ext'],
  colModel:[
    {name:'nm',index:'nm'},
    {name:'temp',index:'temp'},
    {name:'ignition',index:'ignition'},
    {name:'pos_x',index:'pos_x'},
    {name:'pos_y',index:'pos_y'},
    {name:'drv',index:'drv'},
    {name:'pos_s',index:'pos_s'},
    {name:'param24',index:'param24'},
    {name:'param240',index:'param240'},
    {name:'pwr_ext',index:'pwr_ext'},
  ],
  rowNum:100,
  rowList:[100,200,300],
  pager: '#pager2',
  sortname: 'param240',
  viewrecords: true,
  sortorder: "desc",
  caption:"Vertex Live View",
  loadComplete: function() {
    grid.jqGrid('setCell',"560058","nm","",color:'red'});
  },
});
$("#live_view").jqGrid('navGrid','#pager2',{edit:false,add:false,del:false});
$("#cc").click(function (){
  $("#live_view").jqGrid('setCell',"560058","nm","",{color:'blue'});
})
</script>
<a href="#" id="cc">Change Colour</a>
4

1 に答える 1

0

並べ替えると、html が再作成されます。jqgrid が知っている限りでは、変更した列は、並べ替え後に現在のページに表示されないことさえあります。要するに、色を再適用する必要があります。

モデルデータからセルの色を設定できるかどうかを確認するために、jqGrid API を熟読することができます。そうは思いませんが。

于 2012-11-25T08:32:34.933 に答える