次の方法で共有


DetailsView.Fields プロパティ

定義

DataControlField コントロールの明示的に宣言された行フィールドを表す DetailsView オブジェクトのコレクションを取得します。

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 コントロールの明示的に宣言された行フィールドをすべて格納している DetailsView

属性

次のコード例は、宣言によってコントロールのコレクションに行フィールドを追加する Fields 方法を DetailsView 示しています。


<%@ 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 格納されます。 コレクション Fields では、明示的に宣言された行のコレクションをプログラムで管理することもできます。

注意

明示的に宣言された行フィールドは、自動的に生成される行フィールドと組み合わせて使用できます。 両方を使用すると、明示的に宣言された行フィールドが最初にレンダリングされ、その後に自動的に生成された行フィールドがレンダリングされます。 自動生成された行フィールドはコレクションに Fields 追加されません。

行フィールドの種類によって、コントロール内の行の動作が決まります。 次の表に、コレクションで使用できるさまざまな行フィールドの種類を Fields 示します。

行フィールドの種類 [説明]
BoundField データ ソース内のフィールドの値をテキストとして表示します。
ButtonField コントロールにコマンド ボタンを DetailsView 表示します。 これにより、[追加] ボタンや [削除] ボタンなどのカスタム ボタン コントロールを含む行を表示できます。
CheckBoxField コントロールにチェック ボックスを DetailsView 表示します。 この行フィールド型は、ブール値を持つフィールドを表示するために一般的に使用されます。
CommandField コントロールの編集、挿入、または削除の操作を実行するための組み込みのコマンド ボタンを DetailsView 表示します。
HyperLinkField データ ソース内のフィールドの値をハイパーリンクとして表示します。 この行フィールドの種類を使用すると、ハイパーリンクの URL に 2 番目のフィールドをバインドできます。
ImageField コントロールに画像を DetailsView 表示します。
TemplateField 指定したテンプレートに従って、コントロール内の行の DetailsView ユーザー定義コンテンツを表示します。 この行フィールド型を使用すると、ユーザー設定の行フィールドを作成できます。

コントロールの行フィールドDetailsViewを明示的に宣言するには、最初にプロパティfalseAutoGenerateRows . 次に、コントロールの開始タグと終了 <Fields> タグの間に開始タグと終了タグを DetailsView 追加します。 最後に、開始タグと終了 <Fields> タグの間に含める行フィールドを一覧表示します。 行フィールドは、コレクション内の DetailsView 行フィールドが表示される順序でコントロールに Fields 表示されます。

プログラムで行フィールドを Fields コレクションに追加することはできますが、コントロールで DetailsView 宣言によって行フィールドを一覧表示し、各行フィールドのプロパティを Visible 使用して行フィールドを表示または非表示にする方が簡単です。

Visible行フィールドのプロパティが設定falseされている場合、行はコントロールにDetailsView表示されず、行のデータはクライアントへのラウンド トリップを行いません。 表示されていない行のデータでラウンド トリップを行う場合は、プロパティにフィールド名を DataKeyNames 追加します。

適用対象

こちらもご覧ください