刚开始显示全部的列信息,可通过选择字段来选择要显示哪些列,剩下的隐藏!
请问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 回答
- 0 关注
- 353 浏览
添加回答
举报
0/150
提交
取消