在grid结果集中实现全选或全不选某些特定的行

在script的中的代码如下:

function check(){

    var id = gridgetselectvalue("require_id");

    if(id.length<1)

        return;

    //var arr=id.split(";");

    setcheckstatebyid(grid,id);

}

function setcheckstatebyid(grid, id) {

    var main = grid.gettable("11");

    var table=document.getElementById("grid");

    var rows = gridreport_Rows(main);

    var num = rows.length;

    var frow;

    var fselect;

    var i;

    if (num > 0 && gridreport_getcheckvalue(rows.eq(0)) != null) {

        var ischecked=table.rows[rowindex].cells[0].childNodes[0].checked;

        //alert(ischecked);alert(id);

        for (i = num - 1; i >= 0; i--) {

            frow = rows.eq(i);

            fselect = frow.children().eq(0).children().eq(0);

            if(table.rows[i].cells[1].innerHTML==id){

                fselect[0].checked = ischecked;

            }

        }

    }

}

var rowindex=0;

$(document).ready(function(){

    $("#grid td").bind("click",function(){

        //colindex = $(this).index();

        rowindex=$(this).parent().index();//表示所在行的索引。如果要的是列的索引,把parent()去掉

    });

});

在body中获取grid的结果集代码如下:

<div style="height:100%;" align="center">

                 <div style=" height:98%;width:99%;" align="left">

         <grid:gridreport property="grid"  merge="true" allowchangecolwidth="true" showtiptext="true" onclick="check();"

                       idproperty ="require_id" funtype="2" showcheckbox="true" collection="order.list" caption="ordercaption.list" showmenu="true" 

                       reportcaption="结算清单" serial="true" height="99%" width="100%"/>    

         </div>

在这个里面IDproperty是产生拥有某些一直属性的记录;通过onclick事件来调用script中的check方法;从而让script来完成筛选记录,全部选中的操作;

 

你可能感兴趣的:(grid)