﻿
/*
 插件名称：jGridViewBar
 主要功能：对生成的GridView进行客户端加工，对指定的列进行分组并归类显示，更多新功能还在开发中
 版本号：1.0.0.0
 发布日期：2007/9/19
 
         作者：TNT2   QQ：498977166   Email:szw2003@163.com    www.senparc.com
         
         
         
    参数含义：
    headShowed：是否显示了GridView的Head
    footShowed：是否显示了GridView的Foot
    checkColum：需要归类的列（从0开始计）
    tableCSS：Table的CSS样式（即GridView的CssClass）
*/
function rebulidRowBar(headShowed,footShowed,checkColum,tableCSS){
    var columHTML = "";//目标单元格内容
    var tdTotalInRow = 0 ;//列总数
    var trTotal = $("table."+tableCSS+" tr").size();//总行数
    var trNum = 0;//行计数
    var autoBarNum = 0 ;//自动生成栏目数
    
    $("table."+tableCSS).css("width",$("table."+tableCSS).offsetWidth);
    //遍历每一行
    $("table."+tableCSS+" tr").each(function(){

        if( ( headShowed && trNum == 0) || (footShowed && trNum == trTotal -1) )
        {
              //不需要判断的head或foot
        }
        else
        {
            if($(this).children("td").size() > tdTotalInRow)
            {
               tdTotalInRow = $(this).children("td").size();//一行内的单元格数
            }
            
            var tdNum = 0;//单元格计数      
            
            //遍历每一个单元格
            $(this).children("td").each(function(){
                if(tdNum == checkColum)
                {
                    var newColum = $(this).find("span").html();
                    if( columHTML != newColum)
                    {
                        columHTML = newColum;
                        autoBarNum++;
                        var barHTML= "";

                        var onclickHTML="onclick=\"switchdivAutoBar('" + tableCSS + "','" + autoBarNum +"');\"";//onclick事件
                        barHTML += "<tr " + onclickHTML + " style=\"cursor:hand;\" bgcolor=\"#6699ff\"><td align=\"left\" colspan=" + tdTotalInRow + "> <b>" + columHTML + "</b> 组</td></tr>";
           
                        $(this).parent().before(barHTML);//添加自动生成的标题栏
                    }
                }
                tdNum++;//单元格计数
            });
            
            //添加CSS样式标记
            $(this).addClass("divAutoBar_" + tableCSS +  autoBarNum);
        }
        
        trNum++;//行计数
    });
}

//开关/自动生成的标题栏
function switchdivAutoBar(tableCSS , autoBarNum)
{
    $(".divAutoBar_" + tableCSS + autoBarNum).toggle();
}