脚本暗藏或显示列,为什么各个控件之间会出现空隙
脚本隐藏或显示列,为什么各个控件之间会出现空隙?
我把GridView都转换成模板,给各个模板都添加了长度限制,然后使用脚本和CheckBoxList,来隐藏GridView的某些列。但GridView总是在隐藏某些列后,剩下的列总是对不齐,各个控件之间总是存在空隙,不知道该怎么调整。。。请帮忙看看,谢谢!请留意看“效果截图”!红框框就是多余的空隙
--------------------完整代码---------------------
我把GridView都转换成模板,给各个模板都添加了长度限制,然后使用脚本和CheckBoxList,来隐藏GridView的某些列。但GridView总是在隐藏某些列后,剩下的列总是对不齐,各个控件之间总是存在空隙,不知道该怎么调整。。。请帮忙看看,谢谢!请留意看“效果截图”!红框框就是多余的空隙
--------------------完整代码---------------------
- HTML code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Try_Default2" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <style type="text/css"> .style1 { width: 500%; } </style> <script src="http://code.jquery.com/jquery-1.7.2.min.js" type="text/javascript"></script> <script type="text/javascript"> function bb() { var CheckBoxList = document.getElementById("CheckBoxList_All"); if (CheckBoxList.tagName == "TABLE") { for (var a = 0; a < 102; a++) { if (CheckBoxList.rows[a].cells[0].childNodes[0].checked == false) { var table = document.getElementById("GridView_Search"); for (var i = 0; i < table.rows.length - 1; i++) { table.rows[i].cells[a].style.display = "none"; } } else { var table = document.getElementById("GridView_Search"); for (var i = 0; i < table.rows.length - 1; i++) { table.rows[i].cells[a].style.display = "inline"; } } } } } </script> </head> <body> <form id="form1" runat="server"> <div> <table cellpadding="0" cellspacing="0" class="style1"> <tr> <td> <asp:CheckBoxList ID="CheckBoxList_All" runat="server" > <asp:ListItem>1</asp:ListItem> <asp:ListItem>2</asp:ListItem> <asp:ListItem>3</asp:ListItem> <asp:ListItem>4</asp:ListItem> <asp:ListItem>5</asp:ListItem> <asp:ListItem>6</asp:ListItem> <asp:ListItem>7</asp:ListItem> </asp:CheckBoxList> <input id="Button1" type="button" value="123" onclick="bb();"/> </td> <td> </td> </tr> <tr> <td> <asp:GridView ID="GridView_Search" runat="server" AutoGenerateColumns="False" DataKeyNames="PRID" DataSourceID="SqlDataSource_Search" CellPadding="0"> <Columns> <asp:TemplateField HeaderText="年份" SortExpression="ReceivableID" HeaderStyle-Width="33" ItemStyle-Width="33" FooterStyle-Width="33" ControlStyle-BorderWidth="0" ControlStyle-CssClass="style1" ControlStyle-Width="33" FooterStyle-Wrap="False" HeaderStyle-Wrap="False" ItemStyle-Wrap="False" HeaderStyle-Height="33" > <ItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("ReceivableID") %>' Width="33"></asp:TextBox> </ItemTemplate> <ControlStyle Width="33px"></ControlStyle> <FooterStyle Wrap="False" Width="33px"></FooterStyle> <HeaderStyle Wrap="False" Width="33px"></HeaderStyle> <ItemStyle Wrap="False" Width="33px"></ItemStyle> </asp:TemplateField> <asp:TemplateField HeaderText="资产编号" SortExpression="PropertyIDR" ControlStyle-Width="65" FooterStyle-Width="65" FooterStyle-Wrap="False" HeaderStyle-Width="65" HeaderStyle-Wrap="False" ItemStyle-Width="65" ItemStyle-Wrap="False"> <ItemTemplate> <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("PropertyIDR") %>' Width="65"></asp:TextBox> </ItemTemplate> <ControlStyle Width="65px"></ControlStyle> <FooterStyle Wrap="False" Width="65px"></FooterStyle> <HeaderStyle Wrap="False" Width="65px"></HeaderStyle> <ItemStyle Wrap="False" Width="65px"></ItemStyle> </asp:TemplateField> <asp:BoundField DataField="PRID" HeaderText="编号" InsertVisible="False" ReadOnly="True" SortExpression="PRID" ControlStyle-Width="30" FooterStyle-Width="30" HeaderStyle-Width="30" ItemStyle-Width="30" > <ControlStyle Width="30px"></ControlStyle> <FooterStyle Width="30px"></FooterStyle> <HeaderStyle Width="30px"></HeaderStyle> <ItemStyle Width="30px"></ItemStyle> </asp:BoundField> <asp:TemplateField HeaderText="ContractNumberR" SortExpression="ContractNumberR"> <ItemTemplate> <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("ContractNumberR") %>'></asp:TextBox> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="ManageProjectR" SortExpression="ManageProjectR"> <ItemTemplate> <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("ManageProjectR") %>'></asp:TextBox> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="PropertyCityR" SortExpression="PropertyCityR"> <ItemTemplate> <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("PropertyCityR") %>'></asp:TextBox> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="PropertyRoadR" SortExpression="PropertyRoadR"> <ItemTemplate> <asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("PropertyRoadR") %>'></asp:TextBox> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource_Search" runat="server" ConnectionString="<%$ ConnectionStrings:长铁物业公司资产数据库ConnectionString %>" DeleteCommand="DELETE FROM [ReceivableTable] WHERE [PRID] = @PRID" InsertCommand="INSERT INTO [ReceivableTable] ([ReceivableID], [PropertyIDR], [ContractNumberR], [ManageProjectR], [PropertyCityR], [PropertyRoadR]) VALUES (@ReceivableID, @PropertyIDR, @ContractNumberR, @ManageProjectR, @PropertyCityR, @PropertyRoadR)" SelectCommand="SELECT [ReceivableID], [PropertyIDR], [PRID], [ContractNumberR], [ManageProjectR], [PropertyCityR], [PropertyRoadR] FROM [ReceivableTable]" UpdateCommand="UPDATE [ReceivableTable] SET [ReceivableID] = @ReceivableID, [PropertyIDR] = @PropertyIDR, [ContractNumberR] = @ContractNumberR, [ManageProjectR] = @ManageProjectR, [PropertyCityR] = @PropertyCityR, [PropertyRoadR] = @PropertyRoadR WHERE [PRID] = @PRID"> <DeleteParameters> <asp:Parameter Name="PRID" Type="Int32" /> </DeleteParameters> <UpdateParameters> <asp:Parameter Name="ReceivableID" Type="Int32" /> <asp:Parameter Name="PropertyIDR" Type="Int32" /> <asp:Parameter Name="ContractNumberR" Type="String" /> <asp:Parameter Name="ManageProjectR" Type="String" /> <asp:Parameter Name="PropertyCityR" Type="String" /> <asp:Parameter Name="PropertyRoadR" Type="String" /> <asp:Parameter Name="PRID" Type="Int32" /> </UpdateParameters> <InsertParameters> <asp:Parameter Name="ReceivableID" Type="Int32" /> <asp:Parameter Name="PropertyIDR" Type="Int32" /> <asp:Parameter Name="ContractNumberR" Type="String" /> <asp:Parameter Name="ManageProjectR" Type="String" /> <asp:Parameter Name="PropertyCityR" Type="String" /> <asp:Parameter Name="PropertyRoadR" Type="String" /> </InsertParameters> </asp:SqlDataSource> </td> <td> </td> </tr> </table> </div> </form> </body> </html>