在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来完成筛选记录,全部选中的操作;

 

posted @ 2015-03-25 22:25  HalfWater  阅读(275)  评论(0编辑  收藏  举报