为了账号安全,请及时绑定邮箱和手机立即绑定

gridview动态显示列??急,急,急。。。。

gridview动态显示列??急,急,急。。。。

呼唤远方 2018-12-06 15:19:40
  刚开始显示全部的列信息,可通过选择字段来选择要显示哪些列,剩下的隐藏! 请问asp.net如何实现??   上面字段是CheckBoxList 下面是我的一些代码: <asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatDirection="Horizontal"> <asp:ListItem Value="zc_name">设备名称</asp:ListItem> <asp:ListItem Value="pp">设备品牌</asp:ListItem> <asp:ListItem Value="lx">设备类型</asp:ListItem> <asp:ListItem Value="cpbm1">产品编号1</asp:ListItem> <asp:ListItem Value="cgdw">从购单位</asp:ListItem> <asp:ListItem Value="xhgg">型号规格</asp:ListItem> <asp:ListItem Value="zcbh">固定资产编号</asp:ListItem> <asp:ListItem Value="gmsj">购买时间</asp:ListItem> <asp:ListItem Value="dw">使用单位</asp:ListItem> <asp:ListItem Value="bm">使用部门</asp:ListItem> <asp:ListItem Value="zrr">责任人</asp:ListItem> </asp:CheckBoxList> <asp:GridView ID="GridView1" runat="server" AllowPaging="True" CellPadding="4" ForeColor="#333333" GridLines="None" Width="1000px" AutoGenerateColumns="False" EmptyDataText="无记录" CaptionAlign="Left" CssClass="gridview" OnPageIndexChanging="GridView1_PageIndexChanging"> <FooterStyle BackColor="#5D7B9D" CssClass="trbottom" Font-Bold="True" ForeColor="White" /> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> <EmptyDataRowStyle ForeColor="Red" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> <HeaderStyle BackColor="#5D7B9D" CssClass="trtop" Font-Bold="True" ForeColor="White" /> <EditRowStyle BackColor="#999999" /> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> <Columns> <asp:BoundField DataField="zc_name" HeaderText="设备名称" HtmlEncode="False" SortExpression="zc_name" /> <asp:BoundField DataField="pp" HeaderText="品牌" HtmlEncode="False" SortExpression="pp" /> <asp:BoundField DataField="lx" HeaderText="类型" HtmlEncode="False" SortExpression="lx" /> <asp:BoundField DataField="cpbm1" HeaderText="产品编码1" HtmlEncode="False" SortExpression="cpbm1" /> <asp:BoundField DataField="cgdw" HeaderText="从购单位" HtmlEncode="False" SortExpression="cgdw" /> <asp:BoundField DataField="xhgg" HeaderText="型号规格" HtmlEncode="False" SortExpression="xhgg" /> <asp:BoundField DataField="zcbh" HeaderText="固资编号" HtmlEncode="False" SortExpression="zcbh" /> <asp:BoundField DataField="gmsj" HeaderText="购买时间" HtmlEncode="False" SortExpression="gmsj" DataFormatString="{0:yyyy-MM-dd}" /> <asp:BoundField DataField="dw" HeaderText="使用单位" HtmlEncode="False" SortExpression="dw" /> <asp:BoundField DataField="bm" HeaderText="使用部门" HtmlEncode="False" SortExpression="bm" /> <asp:BoundField DataField="zrr" HeaderText="责任人" HtmlEncode="False" SortExpression="zrr" /> <asp:BoundField DataField="yxzt" HeaderText="状态" HtmlEncode="False" SortExpression="yxzt" /> <asp:TemplateField> <ItemTemplate> <asp:HyperLink ID="detail" runat="server" NavigateUrl=<%# "~/Basicmodules/xx_update.aspx?id="+Eval("id")%> Text='详细信息'></asp:HyperLink> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <ItemTemplate> <asp:HyperLink ID="update" runat="server" NavigateUrl=<%# "~/Basicmodules/zc_update.aspx?id="+Eval("id")%> Text='基本信息'></asp:HyperLink> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <ItemTemplate> <asp:HyperLink ID="wx" runat="server" NavigateUrl=<%# "~/Basicmodules/wx_show.aspx?id="+Eval("id")%> Text='维修信息'></asp:HyperLink> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <ItemTemplate> <asp:HyperLink ID="dp" runat="server" NavigateUrl=<%# "~/Basicmodules/dp_info.aspx?id="+Eval("id")%> Text='调配信息'></asp:HyperLink> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>       底下这段是查看选择了哪些字段 string sql = ""; int count; count = 0; for (int i = 0; i < CheckBoxList1.Items.Count; i++) { if (CheckBoxList1.Items[i].Selected == true) { count++; if (count >= 1) { sql = sql + CheckBoxList1.Items[i].Value+","; } } } if (sql.Length > 2) { sql = sql.Substring(0, sql.Length - 1); sArray = sql.Split(','); }       CheckBoxList的value值是gridview绑定的字段名称。。。     请问该如何动态实现gridview的列的显示。。。
查看完整描述

5 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

分析GridView最后生成的代码结构,用JS来操作需要隐藏的列。

查看完整回答
反对 回复 2019-01-21
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

也建议用js操作(jquery比较简单)如果不用js,每次都去服务器刷新,效率可想而知。。。

查看完整回答
反对 回复 2019-01-21
?
烙印99

TA贡献1829条经验 获得超13个赞

偏偏我的js不太好 呜呜 可否给点代码参考下下。。。。
查看完整回答
反对 回复 2019-01-21
?
侃侃无极

TA贡献2051条经验 获得超10个赞

后台做成动态绑定生成列,前台可以弹出窗口让用户选择哪些列显示。

查看完整回答
反对 回复 2019-01-21
  • 5 回答
  • 0 关注
  • 353 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信