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 を visiblity:hidden に設定します。

于 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 に答える