分页显示页使用GridView调整【显示隐藏】列没有即时更新的问题.docx

本文探讨了在ASP.NET中使用GridView控件显示数据时遇到的绑定列显示异常现象,并详细记录了从发现问题到最终解决方案的过程。通过对比绑定列与模板列的不同表现,找到了问题的症结所在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

在分页显示的页面,使用gridview显示分页之后的数据,数据源是datatable,开始的时候有的列使用的绑定列,直接绑定datatable的列名,例如:<asp:BoundField DataField="zw" HeaderText ="职务" />

因为要用户可以调整显示的列,我就做了一个checkboxlist,用户可以选择显示的列,然后我在绑定数据gridview.databind()之后,根据checkboxlist的选中列,显示和隐藏gridview的列,选中列的序号先保存在一个hiddenfield.Value中。

刚开始用<asp:BoundField DataField="zw" HeaderText ="职务" />的时候,选中一个绑定列作为显示列,点击【确定】之后,虽然这个列被设置了this.gvStudent.Columns[i].Visible = true;,但是第一次点击【确定】,这个列的值是空白的,什么都没有,再次点击【确定】,这个列的值就出来了,目前还不知道原因。

后来经过仔细的调试,一个一个列的选择,看看那些列会出现这个问题。结果是,如果使用的是绑定列绑定数据,就会出现这个问题;如果使用的是模板列,就不会出现这个问题。

然后将绑定列都改为模板列,<asp:TemplateField HeaderText="职务">

            <EditItemTemplate>

                <asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("zw") %>'></asp:TextBox>

            </EditItemTemplate>

            <ItemTemplate>

                <asp:Label ID="Label8" runat="server" Text='<%# Eval("zw") %>'></asp:Label>

            </ItemTemplate>

            <ControlStyle CssClass="StudentDetailsTableDataControl4" />

            <ItemStyle CssClass="StudentDetailsTableDataItem4" />

        </asp:TemplateField>

,这个问题就被解决了,目前不知道为什么。

转载于:https://www.cnblogs.com/virusswb/archive/2009/12/10/1620818.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值