0

我有一个标准的网格视图,其中包含许多有界字段和模板字段,其中我想让 4 列不可见。

我知道这个 css 是,visibility:hidden;但我不知道如何将它应用到这 4 列,我尝试使用该ControlStyle-CssClass属性,但它似乎将 css 应用到整个表。

有没有办法将此 CSS 仅应用到这 4 列,还有计划是在我管理之后为按钮编写一些 Javascript 来打开和关闭可见性,所以如果你可以请使用一些 CSS/标签等可以轻松更改客户端,这将是一个巨大的优势。

一个例子:

<asp:GridView ID="gwFoo" runat="server" AutoGenerateColumns="False" DataKeyNames="Id"
                        Width="631px" OnRowDataBound="gwFoo_RowDataBound"
                        CssClass="customerDataTable" AllowSorting="True">
                        <Columns>
                            <asp:BoundField DataField="type" HeaderText="Type" SortExpression="type" />
                            <asp:TemplateField HeaderText="Number" SortExpression="id">
                                <ItemTemplate>
                                    <asp:HyperLink ID="hlNumber" runat="server">[hlNumber]</asp:HyperLink>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:BoundField DataField="product" HeaderText="Product" SortExpression="product" />
                            <asp:BoundField DataField="startDate" HeaderText="Start Date" SortExpression="startDate" />
                            <asp:BoundField DataField="endDate" HeaderText="End Date" SortExpression="endDate" />
                            <asp:BoundField DataField="isActive" HeaderText="Is Active ?" SortExpression="isActive" />
                            <asp:BoundField DataField="markedForActivation" HeaderText="Marked for Activation ?" SortExpression="markedForActivation" />
                            <asp:BoundField DataField="status" HeaderText="Status" SortExpression="status" />


                            <asp:TemplateField HeaderText="Parent Order" SortExpression="Foo">
                                <ItemTemplate>
                                    <asp:HyperLink ID="hlFoo" runat="server">[hlFoo]</asp:HyperLink>
                                </ItemTemplate>
                            </asp:TemplateField>

                            <asp:TemplateField HeaderText="Parent Document" SortExpression="Foo">
                                <ItemTemplate>
                                    <asp:HyperLink ID="hlFoo" runat="server">[hlFoo]</asp:HyperLink>
                                </ItemTemplate>
                            </asp:TemplateField>

                            <asp:BoundField DataField="createdDate" HeaderText="Created Date" <itemstyle  Visible="false"></itemstyle> SortExpression="createdDate" />
                            <asp:BoundField DataField="createdBy" HeaderText="Created By"  SortExpression="createdBy" />
                            <asp:BoundField DataField="lastUpdated" HeaderText="Last Updated"  SortExpression="lastUpdated" />
                            <asp:BoundField DataField="lastUpdatedBy" HeaderText="Last Updated By" SortExpression="lastUpdatedBy" />                



                        </Columns>
                    </asp:GridView>
4

3 回答 3

1

给列一个类并将css类设置为可见性:隐藏;

于 2012-12-17T09:57:12.547 回答
1

使用Visible="false"will 有效,即

<asp:BoundField Visible="false" DataField="status" HeaderText="Status" SortExpression="status"  />
于 2012-12-17T10:09:08.913 回答
0

我解决了这个问题,我还可以通过按钮打开和关闭隐形。

首先,我重构了我想以这种方式隐藏的有界字段:

<asp:BoundField DataField="createdBy" HeaderText="Created By"  SortExpression="createdBy" >
  <ItemStyle CssClass="fooClass"></ItemStyle>
</asp:BoundField>

类 fooClass 是一个空的 css 类,我使用它只是为了让<td> </td>有界字段生成的所有元素共享一个公共类,从而允许jquery我在下面编写的脚本隐藏或显示它们。

<script> $(".fooClass").hide(); </script>
// or 
<script> $(".fooClass").show(); </script>
于 2012-12-18T19:45:12.253 回答