DetailsView.Fields プロパティ

定義

DataControlField コントロールの明示的に宣言された行フィールドを表す DetailsView オブジェクトのコレクションを取得します。Gets a collection of DataControlField objects that represent the explicitly declared row fields in a DetailsView control.

public:
 virtual property System::Web::UI::WebControls::DataControlFieldCollection ^ Fields { System::Web::UI::WebControls::DataControlFieldCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public virtual System.Web.UI.WebControls.DataControlFieldCollection Fields { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.Fields : System.Web.UI.WebControls.DataControlFieldCollection
Public Overridable ReadOnly Property Fields As DataControlFieldCollection

プロパティ値

DataControlFieldCollection

DataControlFieldCollection コントロールの明示的に宣言された行フィールドをすべて格納している DetailsViewA DataControlFieldCollection that contains all explicitly declared row fields in the DetailsView control.

属性

次のコード例は、コントロールのコレクションに行フィールドを宣言によって追加する方法を示して Fields DetailsView います。The following code example demonstrates how to declaratively add row fields to the Fields collection of a DetailsView control.


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView Fields Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView Fields Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          AutoGenerateRows="false"
          allowpaging="true"
          runat="server">
               
        <Fields>
         <asp:BoundField 
           DataField="CompanyName" 
           HeaderText="Company Name"/>
         <asp:BoundField 
           DataField="City" 
           HeaderText="City"/>
        </Fields>
                    
        </asp:detailsview>
        
        <!-- This example uses Microsoft SQL Server and connects  -->
        <!-- to the Northwind sample database. Use an ASP.NET     -->
        <!-- expression to retrieve the connection string value   -->
        <!-- from the web.config file.                            -->
        <asp:SqlDataSource ID="DetailsViewSource" runat="server" 
          ConnectionString=
            "<%$ ConnectionStrings:NorthWindConnectionString%>"
          InsertCommand="INSERT INTO [Customers]([CustomerID],
            [CompanyName], [Address], [City], [PostalCode], [Country]) 
            VALUES (@CustomerID, @CompanyName, @Address, @City, 
            @PostalCode, @Country)"

          SelectCommand="Select [CustomerID], [CompanyName], 
            [Address], [City], [PostalCode], [Country] From 
            [Customers]">
        </asp:SqlDataSource>
    </form>
  </body>
</html>


<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView Fields Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView Fields Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          AutoGenerateRows="false"
          allowpaging="true"
          runat="server">
               
        <Fields>
         <asp:BoundField 
           DataField="CompanyName" 
           HeaderText="Company Name"/>
         <asp:BoundField 
           DataField="City" 
           HeaderText="City"/>
        </Fields>
                    
        </asp:detailsview>
        
        <!-- This example uses Microsoft SQL Server and connects  -->
        <!-- to the Northwind sample database. Use an ASP.NET     -->
        <!-- expression to retrieve the connection string value   -->
        <!-- from the web.config file.                            -->
        <asp:SqlDataSource ID="DetailsViewSource" runat="server" 
          ConnectionString=
            "<%$ ConnectionStrings:NorthWindConnectionString%>"
          InsertCommand="INSERT INTO [Customers]([CustomerID],
            [CompanyName], [Address], [City], [PostalCode], [Country]) 
            VALUES (@CustomerID, @CompanyName, @Address, @City, 
            @PostalCode, @Country)"

          SelectCommand="Select [CustomerID], [CompanyName], 
            [Address], [City], [PostalCode], [Country] From 
            [Customers]">
        </asp:SqlDataSource>
    </form>
  </body>
</html>

注釈

コントロールの行フィールドを明示的に宣言すると DetailsView 、これらの行フィールドは Fields プロパティ (コレクション) に格納されます。When you explicitly declare the row fields for a DetailsView control, these row fields are stored in the Fields property (collection). Fieldsコレクションを使用すると、明示的に宣言された行のコレクションをプログラムで管理することもできます。The Fields collection also allows you to programmatically manage the collection of explicitly declared rows.

注意

明示的に宣言された行フィールドは、自動的に生成される行フィールドと組み合わせて使用できます。Explicitly declared row fields can be used in combination with automatically generated row fields. 両方を使用する場合は、明示的に宣言された行フィールドが最初に表示され、その後に自動的に生成された行フィールドが続きます。When both are used, explicitly declared row fields are rendered first, followed by the automatically generated row fields. 自動的に生成された行フィールドはコレクションに追加されません FieldsAutomatically generated row fields are not added to the Fields collection.

行フィールドの種類が異なると、コントロールの行の動作が決まります。Different row field types determine the behavior of the rows in the control. 次の表は、コレクションで使用できるさまざまな行フィールドの種類を示して Fields います。The following table shows the different row field types that can be used in the Fields collection.

行フィールドの種類Row field type [説明]Description
BoundField データソース内のフィールドの値をテキストとして表示します。Displays the value of a field in a data source as text.
ButtonField コントロールにコマンドボタンを表示 DetailsView します。Displays a command button in the DetailsView control. これにより、[追加] や [削除] などのカスタムボタンコントロールを含む行を表示できます。This allows you to display a row with a custom button control, such as an Add or a Remove button.
CheckBoxField コントロールにチェックボックスを表示 DetailsView します。Displays a check box in the DetailsView control. この行フィールド型は、通常、ブール値を持つフィールドを表示するために使用されます。This row field type is commonly used to display fields with a Boolean value.
CommandField コントロールで編集、挿入、または削除の各操作を実行するための組み込みコマンドボタンを表示 DetailsView します。Displays built-in command buttons to perform edit, insert, or delete operations in the DetailsView control.
HyperLinkField データソース内のフィールドの値をハイパーリンクとして表示します。Displays the value of a field in a data source as a hyperlink. この行フィールドの種類を使用すると、2番目のフィールドをハイパーリンクの URL にバインドできます。This row field type allows you to bind a second field to the hyperlink's URL.
ImageField コントロールにイメージを表示 DetailsView します。Displays an image in the DetailsView control.
TemplateField DetailsView指定されたテンプレートに従って、コントロールの行に対するユーザー定義のコンテンツを表示します。Displays user-defined content for a row in the DetailsView control according to a specified template. この行フィールドの種類を使用すると、カスタム行フィールドを作成できます。This row field type allows you to create a custom row field.

コントロールの行フィールドを明示的に宣言するには DetailsView 、まず AutoGenerateRows プロパティをに設定し false ます。To explicitly declare the row fields for a DetailsView control, first set the AutoGenerateRows property to false. 次に、 <Fields> コントロールの開始タグと終了タグの間に開始タグと終了タグを追加し DetailsView ます。Next, add opening and closing <Fields> tags between the opening and closing tags of the DetailsView control. 最後に、開始タグと終了タグの間に含める行フィールドを一覧表示し <Fields> ます。Finally, list the row fields that you want to include between the opening and closing <Fields> tags. 行フィールドは、 DetailsView コレクションに行フィールドが表示される順序でコントロールに表示され Fields ます。The row fields are displayed in the DetailsView control in the order that the row fields appear in the Fields collection.

プログラムを使用して行フィールドをコレクションに追加することもできますが Fields 、コントロールで行フィールドを宣言によって簡単に一覧表示し、各行フィールド DetailsView のプロパティを使用して Visible 行フィールドの表示と非表示を切り替えることができます。Although you can programmatically add row fields to the Fields collection, it is easier to list the row fields declaratively in the DetailsView control and then use the Visible property of each row field to show or hide the row field.

Visible行フィールドのプロパティがに設定されている場合、行はコントロールに表示されず、 false DetailsView 行のデータがクライアントにラウンドトリップすることはありません。If the Visible property of a row field is set to false, the row is not displayed in the DetailsView control and the data for the row does not make a round trip to the client. ラウンドトリップのために表示されない行のデータが必要な場合は、プロパティにフィールド名を追加し DataKeyNames ます。If you want the data for a row that is not visible to make a round trip, add the field name to the DataKeyNames property.

適用対象

こちらもご覧ください