请问,如何找到gridview控件中放在头模板中的控件?就是放在gridview的HeaderTemplate中的控件。

解决方案 »

  1.   

    我是这样的,我在头模板列中放了一个checkbox控件,那一列的项模板放了一个checkbox,想根据头模板的checkbox来控制gridview那一列的checkbox全选和全不选。
      

  2.   

    <script language="javascript" type="text/javascript">
       function selectAll(obj)
       {
            var theTable  = obj.parentElement.parentElement.parentElement;
            var i;
            var j = obj.parentElement.cellIndex;
            
            for(i=1;i<theTable.rows.length-1;i++)
            {
                var objCheckBox = theTable.rows[i].cells[j].firstChild;
                if(objCheckBox.checked!=null)objCheckBox.checked = obj.checked;
            }
        }
        </script>
    模板列是
                <asp:TemplateField HeaderText="&lt;input id=&quot;SelectAll&quot; type=&quot;checkbox&quot; onclick=&quot;selectAll(this);&quot; /&gt;全选">
                <ItemTemplate>
                            <asp:CheckBox ID="CheckBox1" runat="server" Checked="False" />
                        </ItemTemplate>
                    <ItemStyle Width="50px" Wrap="False" />
                    <HeaderStyle Wrap="False" />
                    <FooterTemplate>
                        <asp:Button ID="ButtonDeleteSelected" runat="server" Text="删除选中" OnClick="ButtonDeleteSelected_Click" />
                    </FooterTemplate>
                </asp:TemplateField>
    <asp:TemplateField HeaderText="&lt;input id=&quot;SelectAll&quot; type=&quot;checkbox&quot; onclick=&quot;selectAll(this);&quot; /&gt;全选">
    就可以了===============脚本里面的for循环:
            for(i=1;i<theTable.rows.length-1;i++)
            {
                var objCheckBox = theTable.rows[i].cells[j].firstChild;
                if(objCheckBox.checked!=null)objCheckBox.checked = obj.checked;
            }
    因为GridView中的Header和Footer也算作rows了,所以是1和length - 1,没有Footer就是length
      

  3.   

    http://topic.csdn.net/u/20080527/19/f49fc663-bce7-4ff0-b522-5425a3c57325.html