您的位置:首页 > 其它

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

2009-12-10 09:23 411 查看
在分页显示的页面,使用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>

,这个问题就被解决了,目前不知道为什么。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐