DetailsView クラスとは? わかりやすく解説

DetailsView クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

データ行がレコードフィールドを表すテーブル内のデータ ソースから単一レコードの値を表示しますDetailsView コントロールにより、レコード編集削除、および挿入できます

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

<ControlValuePropertyAttribute("SelectedValue")>
 _
Public Class DetailsView
    Inherits CompositeDataBoundControl
    Implements IDataItemContainer, INamingContainer, ICallbackContainer,
 ICallbackEventHandler, _
    IPostBackEventHandler, IPostBackContainer
[ControlValuePropertyAttribute("SelectedValue")] 
public class DetailsView : CompositeDataBoundControl,
 IDataItemContainer, INamingContainer, ICallbackContainer, 
    ICallbackEventHandler, IPostBackEventHandler, IPostBackContainer
[ControlValuePropertyAttribute(L"SelectedValue")] 
public ref class DetailsView : public
 CompositeDataBoundControl, IDataItemContainer, INamingContainer, ICallbackContainer,
 
    ICallbackEventHandler, IPostBackEventHandler, IPostBackContainer
/** @attribute ControlValuePropertyAttribute("SelectedValue") */ 
public class DetailsView extends CompositeDataBoundControl
 implements IDataItemContainer, INamingContainer, 
    ICallbackContainer, ICallbackEventHandler, IPostBackEventHandler, IPostBackContainer
ControlValuePropertyAttribute("SelectedValue") 
public class DetailsView extends
 CompositeDataBoundControl implements IDataItemContainer, INamingContainer, 
    ICallbackContainer, ICallbackEventHandler, IPostBackEventHandler, IPostBackContainer
解説解説

DetailsView コントロールは、レコードの各フィールドテーブル行に表示されるテーブル内のデータ ソースから単一レコード表示するために使用しますマスター詳細場合は、このコントロールと GridView コントロール組み合わせて使用できますDetailsView コントロールは、次の機能サポートしてます。

行のフィールド

DetailsView コントロールの各データ行は、フィールド コントロール宣言して作成されます。行フィールド種類によって、コントロール内の行の機能異なりますフィールドは DataControlField からの派生制御します使用できる行フィールドさまざまな種類の一覧を次の表に示します

既定では AutoGenerateRows プロパティtrue設定されています。つまり、データ ソース内のバインドできる型の各フィールドに対してバインドされる行フィールド オブジェクト自動的に作成されます。バインドできる有効な型は StringDateTimeDecimal, Guid、およびプリミティブ型セットです。続いてフィールドが、データ ソース表示される順序で行にテキストとして表示されます。

行を自動的に生成することで、レコード内のフィールドすばやく簡単に表示できます。ただし、DetailsView コントロール拡張機能利用するためには、行フィールド明示的に宣言して DetailsView コントロール含める必要があります行フィールド宣言するには、最初に AutoGenerateRows プロパティfalse設定します次にDetailsView コントロール開始タグ終了タグの間に <Fields>開始タグ終了タグ追加します最後に<Fields>開始タグ終了タグの間に組み込む行フィールドリストます。指定した行フィールドが、リストした順序Fields コレクション追加されます。Fields コレクション使用すると、DetailsView コントロール内の行フィールドプログラムによって管理できます

データへのバインド

DetailsView コントロールは、データ ソース コントロール (SqlDataSource や AccessDataSource など)、または System.Collections.IEnumerable インターフェイス実装するデータ ソース (System.Data.DataView、System.Collections.ArrayList、System.Collections.Hashtable など) にバインドできますDetailsView コントロール適切なデータ ソース種類バインドするには、次のいずれか方法使用します

データ バインディング詳細については、「データベースへのバインド」を参照してください

Security
データ操作

DetailsView コントロールには、ユーザーがそのコントロール内の項目を使用して更新削除挿入ページング実行できる組み込み機能用意されています。DetailsView コントロールデータ ソース コントロールバインドされている場合DetailsView コントロールは、データ ソース コントロール機能利用して自動的な更新削除挿入、およびページング各機能提供します

メモメモ

他の種類データ ソースでも、DetailsView コントロール更新削除挿入、およびページングの各操作サポートできますが、適切なイベント ハンドラ使用して、これらの操作実装を行う必要があります詳細については、「ItemDeleting」、「ItemInserting」、および「ItemUpdating」を参照してください

DetailsView コントロールは、AutoGenerateEditButton、AutoGenerateDeleteButton、または AutoGenerateInsertButton の各プロパティそれぞれ true設定してCommandField 行フィールドEditDelete、または New の各ボタン追加できます。(選択されているレコードをすぐに削除する) Delete ボタンとは異なりEdit ボタンまたは New ボタンクリックすると、DetailsView コントロール編集モード (Edit ボタン場合) または挿入モード (New ボタン場合) になります編集モードでは、Edit ボタンUpdate ボタンCancel ボタン置き換えられます。フィールドデータ型適した入力コントロール (TextBox コントロールCheckBox コントロールなど) が、ユーザー変更するフィールドの値を設定した状態で表示されます。Update ボタンクリックすると、データ ソースレコード更新されCancel ボタンクリックすると、すべての変更放棄されます。同様に挿入モードでは、New ボタンInsert ボタンCancel ボタン置き換えられ新規レコードの値を入力するための空の入力コントロールユーザー表示されます。

メモメモ

更新削除、および挿入コマンド ボタンは、ButtonFieldCommandField、または TemplateField行フィールド手動定義することもできますDetailsView コントロールは、CommandName プロパティが "Edit"、"Update"、"Delete"、"New"、"Insert"、または "Cancel" に設定されているボタン認識しますが、機能手動指定する必要があります詳細については、「ItemDeleting」、「ItemInserting」、および「ItemUpdating」を参照してください

DetailsView コントロールには、ユーザーデータ ソース内の他のレコード移動できるページング機能用意されています。この機能有効に設定されている場合は、ページ ナビゲーション コントロールページ行に表示されます。ページング有効にするには、AllowPaging プロパティtrue設定しますページ行は、PagerStyle プロパティと PagerSettings プロパティ使用してカスタマイズできます

ユーザー インターフェイスのカスタマイズ

コントロールさまざまな部分スタイル プロパティ設定することによって、DetailsView コントロール外観カスタマイズできますさまざまなスタイル プロパティの一覧を次の表に示します

スタイル プロパティ

説明

AlternatingRowStyle

DetailsView コントロール交互に表示されるデータ行のスタイル設定。このプロパティ設定されている場合データ行は RowStyle 設定AlternatingRowStyle 設定交互に表示されます。

CommandRowStyle

DetailsView コントロール組み込みコマンド ボタン格納している行のスタイル設定

EditRowStyle

DetailsView コントロール編集モード場合データ行のスタイル設定

EmptyDataRowStyle

データ ソースレコード格納されていない場合DetailsView コントロール表示される、空のデータ行のスタイル設定

FooterStyle

DetailsView コントロールフッター行のスタイル設定

HeaderStyle

DetailsView コントロールヘッダー行のスタイル設定

InsertRowStyle

DetailsView コントロール挿入モード場合データ行のスタイル設定

PagerStyle

DetailsView コントロールページ行のスタイル設定

RowStyle

DetailsView コントロールデータ行のスタイル設定AlternatingRowStyle プロパティ設定されている場合データ行は RowStyle 設定AlternatingRowStyle 設定交互に表示されます。

FieldHeaderStyle

DetailsView コントロールヘッダー列のスタイル設定

イベント

DetailsView コントロールには、プログラム利用できる複数イベント用意されています。これにより、イベント発生するたびにカスタム ルーチン実行されるようにできますDetailsView コントロールサポートされイベントの一覧を次の表に示しますDetailsView コントロールは、これらのイベント基本クラスDataBinding、DataBound、Disposed, InitLoad、PreRender、および Render からも継承します

イベント

説明

ItemCommand

DetailsView コントロールボタンクリックされたときに発生します

ItemCreated

DetailsViewすべての DetailsViewRow オブジェクト作成された後に発生します。このイベントは、レコードの値を表示前に変更する場合などに使用されます。

ItemDeleted

Delete ボタンクリックされた場合に、DetailsView コントロールデータ ソースからレコード削除した後で発生します。このイベントは、削除操作結果確認する場合によく使用されます。

ItemDeleting

Delete ボタンクリックされた場合に、DetailsView コントロールデータ ソースからレコード削除する前に発生します。このイベントは、削除操作キャンセルする場合などに使用されます。

ItemInserted

Insert ボタンクリックされた場合に、DetailsView コントロールレコード挿入した後で発生します。このイベントは、挿入操作結果確認する場合などに使用されます。

ItemInserting

Insert ボタンクリックされた場合に、DetailsView コントロールレコード挿入する前に発生します。このイベントは、挿入操作キャンセルする場合などに使用されます。

ItemUpdated

Update ボタンクリックされた場合に、DetailsView コントロールが行更新した後で発生します。このイベントは、更新操作結果確認する場合によく使用されます。

ItemUpdating

Update ボタンクリックされた場合に、DetailsView コントロールレコード更新する前に発生します。このイベントは、更新操作キャンセルする場合などに使用されます。

ModeChanged

DetailsView コントロールが (編集モード挿入モード、または読み取り専用モードに) モード変更した後に発生します。このイベントは、DetailsView コントロールモード変更したときにタスク実行する場合などに使用されます。

ModeChanging

DetailsView コントロールが (編集モード挿入モード、または読み取り専用モードに) モード変更する前に発生します。このイベントは、モード変更キャンセルする場合などに使用されます。

PageIndexChanged

ページャ ボタン1 つクリックされた場合に、DetailsView コントロールページング操作処理した後に発生します。このイベント通常ユーザーコントロール内の別のレコード移動した後にタスク実行する必要がある場合使用されます。

PageIndexChanging

ページャ ボタン1 つクリックされた場合に、DetailsView コントロールページング操作処理する前に発生します。このイベントは、ページング操作キャンセルする場合などに使用されます。

ユーザー補助

使用例使用例

単純なマスター詳細場合DetailsView コントロールGridView コントロール組み合わせて使用する方法コード例次に示します。この例では、GridView コントロール選択された項目の詳細表示します

<%@ Page Language="VB" %>

<html>
<body>
  <form runat="server">
    <div>
      <table>
        <tr>
          <td>
            <asp:GridView ID="GridView1" runat="server"
 
              AutoGenerateColumns="False" DataSourceID="Customers"
              DataKeyNames="CustomerID">
              <Columns>
                <asp:CommandField ShowSelectButton="True"
 />
                <asp:BoundField DataField="ContactName"
 HeaderText="ContactName" />
                <asp:BoundField DataField="CompanyName"
 HeaderText="CompanyName" />
              </Columns>
            </asp:GridView>
          </td>
          <td valign="top">
            <asp:DetailsView ID="DetailsView1"
 runat="server" 
              AutoGenerateRows="True" DataKeyNames="CustomerID"
              DataSourceID="Details" Height="50px"
 Width="301px">
            </asp:DetailsView>
          </td>
        </tr>
      </table>
      &nbsp;&nbsp;
      <asp:SqlDataSource ID="Details" runat="server"
 
        ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString
 %>"
        SelectCommand="SELECT * FROM [Customers] WHERE ([CustomerID]
 = @CustomerID)">
        <SelectParameters>
          <asp:ControlParameter ControlID="GridView1"
 Name="CustomerID" 
            PropertyName="SelectedValue"
            Type="String" />
        </SelectParameters>
      </asp:SqlDataSource>
      <asp:SqlDataSource ID="Customers" runat="server"
 
        ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString
 %>"
        SelectCommand="SELECT [CompanyName], [ContactName], [CustomerID]
 FROM [Customers]">
      </asp:SqlDataSource>
    </div>
  </form>
</body>
</html>
<%@ Page Language="C#" %>

<html>
<body>
  <form runat="server">
    <div>
      <table>
        <tr>
          <td>
            <asp:GridView ID="GridView1" runat="server" 
              AutoGenerateColumns="False" DataSourceID="Customers"
              DataKeyNames="CustomerID">
              <Columns>
                <asp:CommandField ShowSelectButton="True" />
                <asp:BoundField DataField="ContactName" HeaderText="ContactName"
 />
                <asp:BoundField DataField="CompanyName" HeaderText="CompanyName"
 />
              </Columns>
            </asp:GridView>
          </td>
          <td valign="top">
            <asp:DetailsView ID="DetailsView1" runat="server"
 
              AutoGenerateRows="True" DataKeyNames="CustomerID"
              DataSourceID="Details" Height="50px" Width="301px">
            </asp:DetailsView>
          </td>
        </tr>
      </table>
      &nbsp;&nbsp;
      <asp:SqlDataSource ID="Details" runat="server" 
        ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString
 %>"
        SelectCommand="SELECT * FROM [Customers] WHERE ([CustomerID] = @CustomerID)">
        <SelectParameters>
          <asp:ControlParameter ControlID="GridView1" Name="CustomerID"
 
            PropertyName="SelectedValue"
            Type="String" />
        </SelectParameters>
      </asp:SqlDataSource>
      <asp:SqlDataSource ID="Customers" runat="server" 
        ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString
 %>"
        SelectCommand="SELECT [CompanyName], [ContactName], [CustomerID] FROM
 [Customers]">
      </asp:SqlDataSource>
    </div>
  </form>
</body>
</html>

DetailsView コントロール使用してレコード追加削除、および編集する方法コード例次に示します

<%@ Page Language="VB" %>

<script runat="server">
  Sub CustomerDetail_ItemInserted(ByVal sender
 As Object, _
    ByVal e As DetailsViewInsertedEventArgs)
    ' Refresh the GridView control after a new record is inserted in
 
    ' the DetailsView control.
    CustomersView.DataBind()
  End Sub
  
  Sub CustomerDetail_ItemInserting(ByVal sender
 As Object, _
    ByVal e As DetailsViewInsertEventArgs)
    ' Iterate though the values entered by the user and HTML encode
 
    ' the values. This helps prevent malicious values from being 
    ' stored in the data source.
    For i As Integer = 0
 To e.Values.Count - 1
      If e.Values(i) IsNot Nothing Then
        e.Values(i) = Server.HtmlEncode(e.Values(i).ToString())
      End If
    Next
  End Sub
  
  Sub CustomerDetail_ItemUpdated(ByVal sender
 As Object, _
    ByVal e As DetailsViewUpdatedEventArgs)
    ' Refresh the GridView control after a new record is updated 
    ' in the DetailsView control.
    CustomersView.DataBind()
  End Sub
  
  Sub CustomerDetail_ItemUpdating(ByVal sender
 As Object, _
    ByVal e As DetailsViewUpdateEventArgs)
    ' Iterate though the values entered by the user and HTML encode
 
    ' the values. This helps prevent malicious values from being 
    ' stored in the data source.
    For i As Integer = 0
 To e.NewValues.Count - 1
      If e.NewValues(i) IsNot Nothing Then
        e.NewValues(i) = Server.HtmlEncode(e.NewValues(i).ToString())
      End If
    Next
  End Sub
  
  Sub CustomerDetail_ItemDeleted(ByVal sender
 As Object, _
    ByVal e As DetailsViewDeletedEventArgs)
    ' Refresh the GridView control after a new record is updated 
    ' in the DetailsView control.
    CustomersView.DataBind()
  End Sub
</script>

<html>
<body>
  <form id="Form1" runat="server">
    <h3>DetailsView Example</h3>
    <table cellspacing="10">
      <tr>
        <td>
          <!-- Use a GridView control in combination with
      -->
          <!-- a DetailsView control to display master-detail
  -->
          <!-- information. When the user selects a store from
 -->
          <!-- GridView control, the customers's detailed      -->
          <!-- information is displayed in
 the DetailsView     -->
          <!-- control.                                        -->
          <asp:GridView ID="CustomersView" DataSourceID="Customers"
 
            AutoGenerateColumns="False"
            DataKeyNames="CustomerID" runat="server">
            <HeaderStyle BackColor="Blue" ForeColor="White"
 />
            <Columns>
              <asp:CommandField ShowSelectButton="True"
 />
              <asp:BoundField DataField="ContactName"
 
                HeaderText="ContactName" />
              <asp:BoundField DataField="CompanyName"
 
                HeaderText="CompanyName" />
            </Columns>
          </asp:GridView>
        </td>
        <td valign="top">
          <asp:DetailsView ID="CustomerDetail"
 DataSourceID="Details" 
            AutoGenerateRows="false"
            AutoGenerateInsertButton="true" 
            AutoGenerateEditButton="true" 
            AutoGenerateDeleteButton="true"
            EmptyDataText="No records." 
            DataKeyNames="CustomerID" GridLines="Both"
 
            OnItemInserted="CustomerDetail_ItemInserted"
            OnItemInserting="CustomerDetail_ItemInserting"
 
            OnItemUpdated="CustomerDetail_ItemUpdated"
            OnItemUpdating="CustomerDetail_ItemUpdating"
 
            OnItemDeleted="CustomerDetail_ItemDeleted"
            runat="server">
            <HeaderStyle BackColor="Navy" ForeColor="White"
 />
            <RowStyle BackColor="White" />
            <AlternatingRowStyle BackColor="LightGray"
 />
            <EditRowStyle BackColor="LightCyan"
 />
            <Fields>
              <asp:BoundField DataField="CustomerID"
 HeaderText="CustomerID" 
                ReadOnly="True"
 />
              <asp:BoundField DataField="ContactName"
 HeaderText="ContactName" />
              <asp:BoundField DataField="ContactTitle"
 HeaderText="ContactTitle" />
              <asp:BoundField DataField="CompanyName"
 HeaderText="CompanyName" />
              <asp:BoundField DataField="Address"
 HeaderText="Address" />
              <asp:BoundField DataField="City"
 HeaderText="City" />
              <asp:BoundField DataField="Region"
 HeaderText="Region" />
              <asp:BoundField DataField="PostalCode"
 HeaderText="PostalCode" />
              <asp:BoundField DataField="Country"
 HeaderText="Country" />
              <asp:BoundField DataField="Phone"
 HeaderText="Phone" />
              <asp:BoundField DataField="Fax" HeaderText="Fax"
 />
            </Fields>
          </asp:DetailsView>
        </td>
      </tr>
    </table>
    <!-- This example uses Microsoft SQL Server and connects
 -->
    <!-- to the Northwind sample database.                
   -->
    <!-- It is strongly recommended that each
 data-bound     -->
    <!-- control uses a separate data source control.        -->
    <asp:SqlDataSource ID="Customers" runat="server"
 
      ConnectionString=
        "<%$ ConnectionStrings:NorthwindConnectionString %>"
      SelectCommand="SELECT [CompanyName], [ContactName], [CustomerID] 
        FROM [Customers]">
    </asp:SqlDataSource>
    <!-- Add a filter to the data source control for
 the     -->
    <!-- DetailsView control to display the details of
 the   -->
    <!-- store selected in the GridView control.          
   -->
    <asp:SqlDataSource ID="Details" 
      ConnectionString=
        "<%$ ConnectionStrings:NorthwindConnectionString %>"
      runat="server" 
      SelectCommand="SELECT * FROM [Customers] 
        WHERE ([CustomerID] = @CustomerID)"
      DeleteCommand="DELETE FROM [Customers] 
        WHERE [CustomerID] = @CustomerID"
      InsertCommand="INSERT INTO [Customers] ([CustomerID], 
        [CompanyName], [ContactName], [ContactTitle], [Address], 
        [City], [Region], [PostalCode], [Country], [Phone], [Fax]) 
        VALUES (@CustomerID, @CompanyName, @ContactName, 
        @ContactTitle, @Address, @City, @Region, @PostalCode, 
        @Country, @Phone, @Fax)"
      UpdateCommand="UPDATE [Customers] SET 
        [CompanyName] = @CompanyName, 
        [ContactName] = @ContactName, [ContactTitle] = @ContactTitle, 
        [Address] = @Address, [City] = @City, [Region] = @Region, 
        [PostalCode] = @PostalCode, [Country] = @Country, 
        [Phone] = @Phone, [Fax] = @Fax 
        WHERE [CustomerID] = @CustomerID">
      <SelectParameters>
        <asp:ControlParameter ControlID="CustomersView"
 
          Name="CustomerID" PropertyName="SelectedValue"
          Type="String" />
      </SelectParameters>
      <DeleteParameters>
        <asp:Parameter Name="CustomerID" Type="String"
 />
      </DeleteParameters>
      <UpdateParameters>
        <asp:Parameter Name="CompanyName" Type="String"
 />
        <asp:Parameter Name="ContactName" Type="String"
 />
        <asp:Parameter Name="ContactTitle" Type="String"
 />
        <asp:Parameter Name="Address" Type="String"
 />
        <asp:Parameter Name="City" Type="String"
 />
        <asp:Parameter Name="Region" Type="String"
 />
        <asp:Parameter Name="PostalCode" Type="String"
 />
        <asp:Parameter Name="Country" Type="String"
 />
        <asp:Parameter Name="Phone" Type="String"
 />
        <asp:Parameter Name="Fax" Type="String"
 />
        <asp:Parameter Name="CustomerID" Type="String"
 />
      </UpdateParameters>
      <InsertParameters>
        <asp:Parameter Name="CustomerID" Type="String"
 />
        <asp:Parameter Name="CompanyName" Type="String"
 />
        <asp:Parameter Name="ContactName" Type="String"
 />
        <asp:Parameter Name="ContactTitle" Type="String"
 />
        <asp:Parameter Name="Address" Type="String"
 />
        <asp:Parameter Name="City" Type="String"
 />
        <asp:Parameter Name="Region" Type="String"
 />
        <asp:Parameter Name="PostalCode" Type="String"
 />
        <asp:Parameter Name="Country" Type="String"
 />
        <asp:Parameter Name="Phone" Type="String"
 />
        <asp:Parameter Name="Fax" Type="String"
 />
      </InsertParameters>
    </asp:SqlDataSource>
  </form>
</body>
</html>
<%@ Page Language="C#" %>

<script runat="server">
  void CustomerDetail_ItemInserted(object sender, 
    DetailsViewInsertedEventArgs e)
  {
    // Refresh the GridView control after a new record is inserted 
    // in the DetailsView control.
    CustomersView.DataBind();
  }

  void CustomerDetail_ItemInserting(object sender, 
    DetailsViewInsertEventArgs e)
  {
    // Iterate though the values entered by the user and HTML encode
 
    // the values. This helps prevent malicious values from being 
    // stored in the data source.
    for (int i = 0; i < e.Values.Count;
 i++)
    {
      if (e.Values[i] != null)
      {
        e.Values[i] = Server.HtmlEncode(e.Values[i].ToString());
      }
    }
  }

  void CustomerDetail_ItemUpdated(object sender, 
    DetailsViewUpdatedEventArgs e)
  {
    // Refresh the GridView control after a new record is updated 
    // in the DetailsView control.
    CustomersView.DataBind();
  }

  void CustomerDetail_ItemUpdating(object sender, 
    DetailsViewUpdateEventArgs e)
  {
    // Iterate though the values entered by the user and HTML encode
 
    // the values. This helps prevent malicious values from being 
    // stored in the data source.
    for (int i = 0; i < e.NewValues.Count;
 i++)
    {
      if (e.NewValues[i] != null)
      {
        e.NewValues[i] = Server.HtmlEncode(e.NewValues[i].ToString());
      }
    }
  }

  void CustomerDetail_ItemDeleted(object sender, 
    DetailsViewDeletedEventArgs e)
  {
    // Refresh the GridView control after a new record is updated 
    // in the DetailsView control.
    CustomersView.DataBind();
  }
</script>

<html>
<body>
  <form id="Form1" runat="server">
    <h3>
      DetailsView Example</h3>
    <table cellspacing="10">
      <tr>
        <td>
          <!-- Use a GridView control in combination with 
     -->
          <!-- a DetailsView control to display master-detail  -->
          <!-- information. When the user selects a store from -->
          <!-- GridView control, the customers//s detailed     -->
          <!-- information is displayed in the DetailsView
     -->
          <!-- control.                                        -->
          <asp:GridView ID="CustomersView" DataSourceID="Customers"
 
            AutoGenerateColumns="False"
            DataKeyNames="CustomerID" runat="server">
            <HeaderStyle BackColor="Blue" ForeColor="White"
 />
            <Columns>
              <asp:CommandField ShowSelectButton="True" />
              <asp:BoundField DataField="ContactName" 
                HeaderText="ContactName" />
              <asp:BoundField DataField="CompanyName" 
                HeaderText="CompanyName" />
            </Columns>
          </asp:GridView>
        </td>
        <td valign="top">
          <asp:DetailsView ID="CustomerDetail" 
            DataSourceID="Details" AutoGenerateRows="false"
            AutoGenerateInsertButton="true" 
            AutoGenerateEditButton="true" 
            AutoGenerateDeleteButton="true"
            EmptyDataText="No records." 
            DataKeyNames="CustomerID" GridLines="Both" 
            OnItemInserted="CustomerDetail_ItemInserted"
            OnItemInserting="CustomerDetail_ItemInserting" 
            OnItemUpdated="CustomerDetail_ItemUpdated"
            OnItemUpdating="CustomerDetail_ItemUpdating" 
            OnItemDeleted="CustomerDetail_ItemDeleted"
            runat="server">
            <HeaderStyle BackColor="Navy" ForeColor="White"
 />
            <RowStyle BackColor="White" />
            <AlternatingRowStyle BackColor="LightGray" />
            <EditRowStyle BackColor="LightCyan" />
            <Fields>
              <asp:BoundField DataField="CustomerID" HeaderText="CustomerID"
 ReadOnly="True" />
              <asp:BoundField DataField="ContactName" HeaderText="ContactName"
 />
              <asp:BoundField DataField="ContactTitle" HeaderText="ContactTitle"
 />
              <asp:BoundField DataField="CompanyName" HeaderText="CompanyName"
 />
              <asp:BoundField DataField="Address" HeaderText="Address"
 />
              <asp:BoundField DataField="City" HeaderText="City"
 />
              <asp:BoundField DataField="Region" HeaderText="Region"
 />
              <asp:BoundField DataField="PostalCode" HeaderText="PostalCode"
 />
              <asp:BoundField DataField="Country" HeaderText="Country"
 />
              <asp:BoundField DataField="Phone" HeaderText="Phone"
 />
              <asp:BoundField DataField="Fax" HeaderText="Fax"
 />
            </Fields>
          </asp:DetailsView>
        </td>
      </tr>
    </table>
    <!-- This example uses Microsoft SQL Server and connects -->
    <!-- to the Northwind sample database.                   -->
    <!-- It is strongly recommended that each data-bound     -->
    <!-- control uses a separate data source control.        -->
    <asp:SqlDataSource ID="Customers" runat="server" 
      ConnectionString=
        "<%$ ConnectionStrings:NorthwindConnectionString %>"
      SelectCommand="SELECT [CompanyName], [ContactName], [CustomerID] 
        FROM [Customers]">
    </asp:SqlDataSource>
    <!-- Add a filter to the data source control for the  
   -->
    <!-- DetailsView control to display the details of the   -->
    <!-- store selected in the GridView control.          
   -->
    <asp:SqlDataSource ID="Details" 
      ConnectionString=
        "<%$ ConnectionStrings:NorthwindConnectionString %>"
      runat="server" 
      SelectCommand="SELECT * FROM [Customers] 
        WHERE ([CustomerID] = @CustomerID)"
      DeleteCommand="DELETE FROM [Customers] 
        WHERE [CustomerID] = @CustomerID"
      InsertCommand="INSERT INTO [Customers] ([CustomerID], 
        [CompanyName], [ContactName], [ContactTitle], [Address], 
        [City], [Region], [PostalCode], [Country], [Phone], [Fax]) 
        VALUES (@CustomerID, @CompanyName, @ContactName, @ContactTitle, 
        @Address, @City, @Region, @PostalCode, @Country, @Phone, @Fax)"
      UpdateCommand="UPDATE [Customers] SET [CompanyName] = @CompanyName, 
        [ContactName] = @ContactName, [ContactTitle] = @ContactTitle, 
        [Address] = @Address, [City] = @City, [Region] = @Region, 
        [PostalCode] = @PostalCode, [Country] = @Country, 
        [Phone] = @Phone, [Fax] = @Fax 
        WHERE [CustomerID] = @CustomerID">
      <SelectParameters>
        <asp:ControlParameter ControlID="CustomersView" 
          Name="CustomerID" PropertyName="SelectedValue"
          Type="String" />
      </SelectParameters>
      <DeleteParameters>
        <asp:Parameter Name="CustomerID" Type="String" />
      </DeleteParameters>
      <UpdateParameters>
        <asp:Parameter Name="CompanyName" Type="String" />
        <asp:Parameter Name="ContactName" Type="String" />
        <asp:Parameter Name="ContactTitle" Type="String" />
        <asp:Parameter Name="Address" Type="String" />
        <asp:Parameter Name="City" Type="String" />
        <asp:Parameter Name="Region" Type="String" />
        <asp:Parameter Name="PostalCode" Type="String" />
        <asp:Parameter Name="Country" Type="String" />
        <asp:Parameter Name="Phone" Type="String" />
        <asp:Parameter Name="Fax" Type="String" />
        <asp:Parameter Name="CustomerID" Type="String" />
      </UpdateParameters>
      <InsertParameters>
        <asp:Parameter Name="CustomerID" Type="String" />
        <asp:Parameter Name="CompanyName" Type="String" />
        <asp:Parameter Name="ContactName" Type="String" />
        <asp:Parameter Name="ContactTitle" Type="String" />
        <asp:Parameter Name="Address" Type="String" />
        <asp:Parameter Name="City" Type="String" />
        <asp:Parameter Name="Region" Type="String" />
        <asp:Parameter Name="PostalCode" Type="String" />
        <asp:Parameter Name="Country" Type="String" />
        <asp:Parameter Name="Phone" Type="String" />
        <asp:Parameter Name="Fax" Type="String" />
      </InsertParameters>
    </asp:SqlDataSource>
  </form>
</body>
</html>

宣言によって行フィールドDetailsView コントロール追加する方法コード例次に示します

<%@ Page Language="VB" %>

<html>
<body>
  <form id="Form1" runat="server">
    <table cellspacing="10">
      <tr>
        <td>
          <!-- Use a GridView control in combination with
      -->
          <!-- a DetailsView control to display master-detail
  -->
          <!-- information. When the user selects a store from
 -->
          <!-- GridView control, the store's detailed          -->
          <!-- information is displayed in
 the DetailsView     -->
          <!-- control.                                        -->
          <asp:GridView ID="GridView1" runat="server"
 
            DataSourceID="Customers" AutoGenerateColumns="False"
 
            DataKeyNames="CustomerID">
            <Columns>
              <asp:CommandField ShowSelectButton="True"
 />
              <asp:BoundField DataField="ContactName"
 HeaderText="ContactName" />
              <asp:BoundField DataField="CompanyName"
 HeaderText="CompanyName" />
            </Columns>
          </asp:GridView>
        </td>
        <td valign="top">
          <asp:DetailsView ID="DetailsView" runat="server"
            DataSourceID="Details" AutoGenerateRows="false"
            DataKeyNames="CustomerID" >
            <HeaderStyle BackColor="Navy" ForeColor="White"
 />
            <Fields>
              <asp:BoundField DataField="CustomerID"
 HeaderText="CustomerID" 
                ReadOnly="True"
 />
              <asp:BoundField DataField="ContactName"
 HeaderText="ContactName" />
              <asp:BoundField DataField="ContactTitle"
 HeaderText="ContactTitle" />
              <asp:BoundField DataField="CompanyName"
 HeaderText="CompanyName" />
              <asp:BoundField DataField="City"
 HeaderText="City" />
              <asp:BoundField DataField="Region"
 HeaderText="Region" />
              <asp:BoundField DataField="PostalCode"
 HeaderText="PostalCode" />
              <asp:BoundField DataField="Country"
 HeaderText="Country" />
            </Fields>
          </asp:DetailsView>
        </td>
      </tr>
    </table>
    <!-- This example uses Microsoft SQL Server and connects
 -->
    <!-- to the Northwind sample database.                
        -->
    <!-- It is strongly recommended that each
 data-bound     -->
    <!-- control uses a separate data source control.        -->
    <asp:SqlDataSource ID="Customers" runat="server"
 
      ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString
 %>"
      SelectCommand="SELECT [CompanyName], [ContactName], [CustomerID]
 FROM [Customers]">
    </asp:SqlDataSource>
    <!-- Add a filter to the data source control for
 the     -->
    <!-- DetailsView control to display the details of
 the   -->
    <!-- store selected in the GridView control.          
   -->
    <asp:SqlDataSource ID="Details" runat="server" 
      ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString
 %>"
      SelectCommand="SELECT * FROM [Customers] WHERE ([CustomerID]
 = @CustomerID)">
      <SelectParameters>
        <asp:ControlParameter ControlID="GridView1"
 Name="CustomerID" 
          PropertyName="SelectedValue"
          Type="String" />
      </SelectParameters>
    </asp:SqlDataSource>
  </form>
</body>
</html>
<%@ Page Language="C#" %>

<html>
<body>
  <form id="Form1" runat="server">
    <table cellspacing="10">
      <tr>
        <td>
          <!-- Use a GridView control in combination with 
     -->
          <!-- a DetailsView control to display master-detail  -->
          <!-- information. When the user selects a store from -->
          <!-- GridView control, the store's detailed          -->
          <!-- information is displayed in the DetailsView
     -->
          <!-- control.                                        -->
          <asp:GridView ID="GridView1" runat="server" 
            DataSourceID="Customers" AutoGenerateColumns="False"
 
            DataKeyNames="CustomerID">
            <Columns>
              <asp:CommandField ShowSelectButton="True" />
              <asp:BoundField DataField="ContactName" HeaderText="ContactName"
 />
              <asp:BoundField DataField="CompanyName" HeaderText="CompanyName"
 />
            </Columns>
          </asp:GridView>
        </td>
        <td valign="top">
          <asp:DetailsView ID="DetailsView" runat="server"
            DataSourceID="Details" AutoGenerateRows="false"
            DataKeyNames="CustomerID" >
            <HeaderStyle BackColor="Navy" ForeColor="White"
 />
            <Fields>
              <asp:BoundField DataField="CustomerID" HeaderText="CustomerID"
 
                ReadOnly="True" />
              <asp:BoundField DataField="ContactName" HeaderText="ContactName"
 />
              <asp:BoundField DataField="ContactTitle" HeaderText="ContactTitle"
 />
              <asp:BoundField DataField="CompanyName" HeaderText="CompanyName"
 />
              <asp:BoundField DataField="City" HeaderText="City"
 />
              <asp:BoundField DataField="Region" HeaderText="Region"
 />
              <asp:BoundField DataField="PostalCode" HeaderText="PostalCode"
 />
              <asp:BoundField DataField="Country" HeaderText="Country"
 />
            </Fields>
          </asp:DetailsView>
        </td>
      </tr>
    </table>
    <!-- This example uses Microsoft SQL Server and connects -->
    <!-- to the Northwind sample database.                        -->
    <!-- It is strongly recommended that each data-bound     -->
    <!-- control uses a separate data source control.        -->
    <asp:SqlDataSource ID="Customers" runat="server" 
      ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
      SelectCommand="SELECT [CompanyName], [ContactName], [CustomerID] FROM
 [Customers]">
    </asp:SqlDataSource>
    <!-- Add a filter to the data source control for the  
   -->
    <!-- DetailsView control to display the details of the   -->
    <!-- store selected in the GridView control.          
   -->
    <asp:SqlDataSource ID="Details" runat="server" 
      ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
      SelectCommand="SELECT * FROM [Customers] WHERE ([CustomerID] = @CustomerID)">
      <SelectParameters>
        <asp:ControlParameter ControlID="GridView1" Name="CustomerID"
 
          PropertyName="SelectedValue"
          Type="String" />
      </SelectParameters>
    </asp:SqlDataSource>
  </form>
</body>
</html>
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
   System.Web.UI.Control
     System.Web.UI.WebControls.WebControl
       System.Web.UI.WebControls.BaseDataBoundControl
         System.Web.UI.WebControls.DataBoundControl
           System.Web.UI.WebControls.CompositeDataBoundControl
            System.Web.UI.WebControls.DetailsView
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DetailsView メンバ
System.Web.UI.WebControls 名前空間
IsPrimitive
AccessDataSource クラス
AllowPaging
AutoGenerateRows
AutoGenerateDeleteButton
AutoGenerateEditButton
AutoGenerateInsertButton
Fields
Rows
BoundField クラス
ButtonField クラス
CommandField クラス
CheckBoxField クラス
GridView
HyperLinkField
SqlDataSource
TemplateField
その他の技術情報
データ ソース コントロールパラメータ使用
データ ソース コントロール概要
ASP.NET データ アクセス概要



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DetailsView クラス」の関連用語

DetailsView クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DetailsView クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS