none
GridView添加了固定的表头,当我隐藏了某些列后,要如何隐藏相应的表头呢? RRS feed

  • 问题

  • 问题其实很简单:就是如何隐藏这个固定表头的某些列呢!以下是具体情况的说明!

    界面的主要部分是GridView,为了使用方便,我给它添加了一个固定表头,采用的是下面这种利用脚本的方式

    <script language="javascript" type="text/javascript">
          var aAsc = [];
          function sortTable(nr) {
              aAsc[nr] = aAsc[nr] == 'asc' ? 'desc' : 'asc';
              $('#GridView_Search>tbody>tr').tsort('td:eq(' + nr + ')', { order: aAsc[nr] });
          }
      </script>
    
    <table cellspacing="0" cellpadding="4" rules="cols" border="1" 
                id="GridView_Search_Header" style="color: #FFFFFF;
        border-color: #DEDFDE; border-width: 1px; border-style: None;
        width: 1880px; border-collapse: collapse; font-size: small; font-weight: bold;">
        <thead>
          <tr style="color: White; background-color: #6B696B; font-weight: bold;">
          
            <th scope="col" style="width: 10px; background-color: #A55129;">序号</th>
            <th scope="col" style="width: 46px; background-color: #A55129;">经营项目</th>
            <th scope="col" style="width: 98px; background-color: #A55129;">地址</th>
            <th scope="col" style="width: 48px; background-color: #A55129;">承租单位</th>
            <th scope="col" style="width: 53px; background-color: #A55129;">押金</th>
            <th scope="col" style="width: 48px; background-color: #A55129;">年租金</th>
            <th scope="col" style="width: 48px; background-color: #A55129;">月租金</th>
            <th scope="col" style="width: 42px; background-color: #A55129;">上月欠收</th>
            <th scope="col" style="width: 48px; background-color: #A55129;">本月合同应收</th>
            <th scope="col" style="width: 42px; background-color: #A55129;">本月总应收</th>
            <th scope="col" style="width: 48px; background-color: #A55129;">本月实收</th>
            <th scope="col" style="width: 42px; background-color: #A55129;">本月总欠收</th>
            <th scope="col" style="width: 47px; background-color: #A55129;">01月收入</th>
            <th scope="col" style="width: 47px; background-color: #A55129;">02月收入</th>
            <th scope="col" style="width: 47px; background-color: #A55129;">03月收入</th>
            <th scope="col" style="width: 47px; background-color: #A55129;">04月收入</th>
            <th scope="col" style="width: 47px; background-color: #A55129;">05月收入</th>
            <th scope="col" style="width: 47px; background-color: #A55129;">06月收入</th>
            <th scope="col" style="width: 47px; background-color: #A55129;">07月收入</th>
            <th scope="col" style="width: 47px; background-color: #A55129;">08月收入</th>
            <th scope="col" style="width: 47px; background-color: #A55129;">09月收入</th>
            <th scope="col" style="width: 47px; background-color: #A55129;">10月收入</th>
            <th scope="col" style="width: 47px; background-color: #A55129;">11月收入</th>
            <th scope="col" style="width: 47px; background-color: #A55129;">12月收入</th>
            <th scope="col" style="width: 52px; background-color: #A55129;">预收收入</th>
            <th scope="col" style="width: 52px; background-color: #A55129;">总收入</th>
            <th scope="col" style="width: 52px; background-color: #A55129;">预收总收入</th>
            <th scope="col" style="width: 103px; background-color: #A55129;">合同备注</th>
            <th scope="col" style="width: 103px; background-color: #A55129;">财务备注</th>
            <th scope="col"  style="background-color: #A55129;">已收到</th>
    </tr>
        </thead>
      </table>

    这段代码运行良好!但是因为我的GridView_Search内容多,跨越的宽度比较大,我便用一个CheckBoxList,配合下列代码,隐藏了GridView_Search的某些列。

    protected void HiddenOrInline()
        {
            for (int i = 0; i < CheckBoxList_All.Items.Count; i++)
            {
                if (CheckBoxList_All.Items[i].Selected == true)
                {
                    GridView_Search.Columns[i].HeaderStyle.CssClass = "inline";
                    GridView_Search.Columns[i].FooterStyle.CssClass = "inline";
                    GridView_Search.Columns[i].ItemStyle.CssClass = "inline";
                }
                else
                {
                    GridView_Search.Columns[i].HeaderStyle.CssClass = "hidden";
                    GridView_Search.Columns[i].FooterStyle.CssClass = "hidden";
                    GridView_Search.Columns[i].ItemStyle.CssClass = "hidden";
                }
            }
        }



    我现在的问题是:我一旦利用CheckBoxList隐藏了某些列,固定表头却无法隐藏对应的表头!要如何解决这个问题呢?


    C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。希望看在党国的面子上拉兄弟一把!



    2012年12月12日 3:14