我将gridview1绑定到sqldatasource1:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString='<%$ ConnectionStrings:ShiftScheduleConnectionString %>' DeleteCommand="DELETE FROM [Example] WHERE [ID] = @ID" InsertCommand="INSERT INTO [Example] ([AssociateName], [Login], [Logout], [Home_Login], [Home_Logout]) VALUES (@AssociateName, @Login, @Logout, @Home_Login, @Home_Logout)" SelectCommand="SELECT * FROM [Example]" UpdateCommand="UPDATE [Example] SET [AssociateName] = @AssociateName, [Login] = @Login, [Logout] = @Logout, [Home_Login] = @Home_Login, [Home_Logout] = @Home_Logout WHERE [ID] = @ID">
<DeleteParameters>
<asp:Parameter Name="ID" Type="Int32"></asp:Parameter>
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="AssociateName" Type="String"></asp:Parameter>
<asp:Parameter Name="Login" Type="String"></asp:Parameter>
<asp:Parameter Name="Logout" Type="String"></asp:Parameter>
<asp:Parameter Name="Home_Login" Type="String"></asp:Parameter>
<asp:Parameter Name="Home_Logout" Type="String"></asp:Parameter>
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="AssociateName" Type="String"></asp:Parameter>
<asp:Parameter Name="Login" Type="String"></asp:Parameter>
<asp:Parameter Name="Logout" Type="String"></asp:Parameter>
<asp:Parameter Name="Home_Login" Type="String"></asp:Parameter>
<asp:Parameter Name="Home_Logout" Type="String"></asp:Parameter>
<asp:Parameter Name="ID" Type="Int32"></asp:Parameter>
</UpdateParameters>
</asp:SqlDataSource>
<asp:GridView ID="GridView1" OnRowUpdating="GridView1_RowUpdating" OnRowDataBound="GridView1_RowDataBound" OnRowEditing="GridView1_RowEditing" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="SqlDataSource1">
<Columns>
<asp:CommandField ShowEditButton="True"></asp:CommandField>
<asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" InsertVisible="False" SortExpression="ID"></asp:BoundField>
<asp:BoundField DataField="AssociateName" HeaderText="AssociateName" SortExpression="AssociateName"></asp:BoundField>
<asp:BoundField DataField="Login" HeaderText="Login" SortExpression="Login"></asp:BoundField>
<asp:BoundField DataField="Logout" HeaderText="Logout" SortExpression="Logout"></asp:BoundField>
<asp:BoundField DataField="Home_Login" HeaderText="Home_Login" SortExpression="Home_Login"></asp:BoundField>
<asp:BoundField DataField="Home_Logout" HeaderText="Home_Logout" SortExpression="Home_Logout"></asp:BoundField>
</Columns>
</asp:GridView>
单击按钮后,应该看不见列。
protected void Button1_Click(object sender, EventArgs e)
{
GridView1.Columns[2].Visible = false;
}
这很好..但是在编辑和更新GridView中的任何数据后,隐藏的列(AssociateName(没有绑定并显示银行值。是否有任何解决方案也可以更新隐藏的列。
它发生了,因为您可能是在页面重新加载后进行的,因此元素状态丢失了列可见状态并使用ASPX页面中的可见属性(在这种情况下是visible="true"
,因为它被省略(。
要修复它,您必须更改重新加载页面的方式,以免丢失状态或根据所需的规则设置visible="false"
。