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

FormView クラス

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

ユーザー定義のテンプレート使用してデータ ソースから単一レコードの値を表示しますFormView コントロールにより、レコード編集削除、および挿入できます

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

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

FormView コントロールは、データ ソースから単一レコード表示するために使用されます。このコントロールは、行フィールドではなくユーザー定義のテンプレート表示するという点を除いて、DetailsView コントロール似てます。独自のテンプレート作成すると、データ表示方法をより柔軟に制御できますFormView コントロールは、次の機能サポートしてます。

テンプレート

コンテンツ表示する FormView コントロール場合コントロールさまざまな部分用にテンプレート作成する必要があります。ほとんどのテンプレート省略可能ですが、コントロール構成が行われるモードについては、テンプレート作成する必要があります。たとえば、レコード挿入サポートする FormView コントロールには、項目挿入テンプレート定義する必要があります作成できるさまざまなテンプレートの一覧を次の表に示します

テンプレート種類

説明

EditItemTemplate

FormView コントロール編集モード場合データ行のコンテンツ定義します通常、このテンプレートには、ユーザー既存レコード編集使用できる入力コントロールコマンド ボタン含まれます。

EmptyDataTemplate

レコード格納されていないデータ ソースFormView コントロールバインドされている場合表示される、空のデータ行用のコンテンツ定義します通常、このテンプレートには、データ ソースレコード格納されていないことをユーザー警告するコンテンツ含まれます。

FooterTemplate

フッター行用のコンテンツ定義します通常、このテンプレートには、フッター行に表示する追加コンテンツ含まれます。

HeaderTemplate

ヘッダー行用のコンテンツ定義します通常、このテンプレートには、ヘッダー行に表示する追加コンテンツ含まれます。

ItemTemplate

FormView コントロール読み取り専用モード場合データ行のコンテンツ定義します通常、このテンプレートには、既存レコードの値を表示するコンテンツ含まれます。

InsertItemTemplate

FormView コントロール挿入モード場合データ行のコンテンツ定義します通常、このテンプレートには、ユーザー新規レコード追加使用できる入力コントロールコマンド ボタン含まれます。

PagerTemplate

ページング機能有効になっている場合 (AllowPaging プロパティtrue設定されている場合) に表示されるページ行のコンテンツ定義します通常、このテンプレートには、ユーザー別のレコードへの移動使用できるコントロール含まれます。

項目テンプレート内のフィールドの値を表示するには、データ バインド式を使用しますデータ バインド式の詳細については、「データ バインド式構文」を参照してください

項目編集テンプレートと項目挿入テンプレート入力コントロールは、双方向のバインド式を使用してデータ ソースフィールドバインドできます。これにより、FormView コントロールは、更新操作または挿入操作用に入力コントロールの値を自動的に取得できます双方向のバインド式を使用すると、項目編集テンプレート入力項目にも自動的に元のフィールド値を表示できます双方向のバインド式の詳細については、「データベースへのバインド」を参照してください

データへのバインド

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

データ バインディング詳細については、「ASP.NET でのデータ アクセス」を参照してください

メモメモ

このコントロールは、ユーザー入力表示するために使用できますユーザー入力には悪意のあるクライアント スクリプト含まれている可能性ありますアプリケーション表示する前にクライアントから送信され実行スクリプトSQL ステートメントなどのコード情報はすべて検査してください。できる限り、値は、このコントロール表示する前に HTML エンコードするようにしてくださいASP.NET には入力要求検証機能があり、ユーザー入力の中のスクリプトHTMLブロックできます検証サーバー コントロールは、ユーザー入力査定する目的でも用意されています。詳細については、「検証コントロール概要」を参照してください

データ操作

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

メモメモ

他の種類データ ソースでも、FormView コントロール更新削除挿入、およびページングの各操作サポートできますが、これらの操作実装で、適切なイベント ハンドラ用意する必要があります

FormView コントロールではテンプレート使用するため、更新削除、または挿入の各操作実行するためのコマンド ボタン自動的に生成する手段用意されていません。これらのコマンド ボタンは、該当するテンプレート手動挿入する必要がありますFormView コントロールは、CommandName プロパティ特定の値設定されているボタン認識しますFormView コントロール認識するコマンド ボタンの一覧を次の表に示します

ボタン

Commandname 値

説明

Cancel

"Cancel"

操作キャンセルしユーザー入力した値を破棄する更新操作または挿入操作使用しますFormView コントロールは、その後、DefaultMode プロパティ指定されモード戻ります

Delete

"Delete"

表示されているレコードデータ ソースから削除する削除操作使用します。ItemDeleting イベントおよび ItemDeleted イベント発生させます

Edit

"Edit"

FormView コントロール編集モードにする更新操作使用しますEditItemTemplate プロパティ指定されコンテンツデータ行に表示されます。

Insert

"Insert"

ユーザー入力した値を使用してデータ ソース新規レコード挿入する挿入操作使用します。ItemInserting イベントおよび ItemInserted イベント発生させます

New

"New"

FormView コントロール挿入モードにする挿入操作使用しますInsertItemTemplate プロパティ指定されコンテンツデータ行に表示されます。

Page

"Page"

ページング実行するページ行のボタンを表すページング操作使用しますページング操作指定するには、ボタンCommandArgument プロパティを "Next"、"Prev"、"First"、"Last"、または移動先のページインデックス設定します。PageIndexChanging イベントおよび PageIndexChanged イベント発生させます

Update

"Update"

ユーザー入力した値を使用してデータ ソース内の表示されているレコード更新する更新操作使用します。ItemUpdating イベントおよび ItemUpdated イベント発生させます

(表示されているレコードをすぐに削除する) Delete ボタンとは異なりEdit ボタンまたは New ボタンクリックすると、FormView コントロール編集モード (Edit ボタン場合) または挿入モード (New ボタン場合) になります編集モードでは、EditItemTemplate プロパティ格納されているコンテンツ現在のデータ項目表示されます。一般的に、項目編集テンプレートは、Edit ボタンUpdate ボタンCancel ボタン置き換えられるように定義されます。通常は、フィールドデータ型適した入力コントロール (TextBox コントロールCheckBox コントロールなど) も、ユーザー変更するフィールドの値を設定した状態で表示されます。Update ボタンクリックすると、データ ソースレコード更新されCancel ボタンクリックすると、すべての変更放棄されます。

同様にコントロール挿入モード場合は、InsertItemTemplate プロパティ格納されているコンテンツデータ項目用に表示されます。一般的に、項目挿入テンプレートは、New ボタンInsert ボタンCancel ボタン置き換えられるように定義され新規レコードの値を入力するために空の入力コントロールユーザー表示されます。Insert ボタンクリックするデータ ソースレコード挿入されCancel ボタンクリックするすべての変更放棄されます。

FormView コントロールには、ユーザーデータ ソース内の他のレコード移動できるページング機能用意されています。この機能有効になっている場合ページ ナビゲーション コントロールを含む FormView コントロールページ行が表示されます。ページング有効にするには、AllowPaging プロパティtrue設定しますページ行は、PagerStyle プロパティと PagerSettings プロパティ格納されているオブジェクトプロパティ設定することによってカスタマイズできます組み込みページUI使用する代わりにPagerTemplate プロパティ使用して、独自の UI作成できます

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

イベント

FormView コントロールには、プログラム利用できる複数イベント用意されています。これにより、イベント発生するたびにカスタム ルーチン実行されるようにできますFormView コントロールサポートされイベントの一覧を次の表に示します

イベント

説明

ItemCommand

FormView コントロール内のボタンクリックされた場合発生します。このイベントは、コントロールボタンクリックされときにタスク実行する場合などに使用されます。

ItemCreated

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

ItemDeleted

Delete ボタン (CommandName プロパティが "Delete" に設定されているボタン) がクリックされた場合に、FormView コントロールデータ ソースからレコード削除した後に発生します。このイベントは、削除操作結果確認する場合などに使用されます。

ItemDeleting

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

ItemInserted

Insert ボタン (CommandName プロパティが "Insert" に設定されているボタン) がクリックされた場合に、FormView コントロールレコード挿入した後に発生します。このイベントは、挿入操作結果確認する場合などに使用されます。

ItemInserting

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

ItemUpdated

Update ボタン (CommandName プロパティが "Update" に設定されているボタン) がクリックされた場合に、FormView コントロールが行更新した後に発生します。このイベントは、更新操作結果確認する場合などに使用されます。

ItemUpdating

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

ModeChanged

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

ModeChanging

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

PageIndexChanged

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

PageIndexChanging

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

ユーザー補助

使用例使用例

FormView コントロール使用してSqlDataSource コントロールから値を表示する方法次の例に示します

<%@ Page language="VB" %>

<html>
  <body>
    <form runat="server">
        
      <h3>FormView Example</h3>
                       
      <asp:formview id="EmployeeFormView"
        datasourceid="EmployeeSource"
        allowpaging="true"
        datakeynames="EmployeeID" 
        runat="server">
        
        <itemtemplate>
        
          <table>
            <tr>
              <td>
                <asp:image id="EmployeeImage"
                  imageurl='<%# Eval("PhotoPath") %>'
                  alternatetext='<%# Eval("LastName") %>'
 
                  runat="server"/>
              </td>
              <td>
                <h3><%# Eval("FirstName")
 %>&nbsp;<%# Eval("LastName") %></h3>
      
                <%# Eval("Title") %>       
 
              </td>
            </tr>
          </table>
        
        </itemtemplate>
          
        <pagersettings position="Bottom"
          mode="NextPrevious"/> 
                  
      </asp:formview>
          
      <!-- 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="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName],
 [Title], [PhotoPath] From [Employees]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
 
        runat="server"/>
            
    </form>
  </body>
</html>

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

<html>
  <body>
    <form runat="server">
        
      <h3>FormView Example</h3>
                       
      <asp:formview id="EmployeeFormView"
        datasourceid="EmployeeSource"
        allowpaging="true"
        datakeynames="EmployeeID" 
        runat="server">
        
        <itemtemplate>
        
          <table>
            <tr>
              <td>
                <asp:image id="EmployeeImage"
                  imageurl='<%# Eval("PhotoPath") %>'
                  alternatetext='<%# Eval("LastName") %>' 
                  runat="server"/>
              </td>
              <td>
                <h3><%# Eval("FirstName") %>&nbsp;<%#
 Eval("LastName") %></h3>      
                <%# Eval("Title") %>        
              </td>
            </tr>
          </table>
        
        </itemtemplate>
          
        <pagersettings position="Bottom"
          mode="NextPrevious"/> 
                  
      </asp:formview>
          
      <!-- 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="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName], [Title],
 [PhotoPath] From [Employees]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
 
        runat="server"/>
            
    </form>
  </body>
</html>

FormView コントロール使用して既存レコード編集する方法次の例に示します

<%@ Page language="VB" %>

<script runat="server">

  Sub EmployeeFormView_ItemUpdating(ByVal sender
 As Object, ByVal e As
 FormViewUpdateEventArgs) Handles EmployeeFormView.ItemUpdating
  
    ' Validate the field values entered by the user. This
    ' example determines whether the user left any fields
    ' empty. Use the NewValues property to access the new 
    ' values entered by the user.
        Dim emptyFieldList As ArrayList = ValidateFields(e.NewValues)

    If emptyFieldList.Count > 0 Then

      ' The user left some fields empty. Display an error message.
      
      ' Use the Keys property to retrieve the key field value.
      Dim keyValue As String
 = e.Keys("EmployeeID").ToString()

      MessageLabel.Text = "You must enter a value for each field
 of record " & _
        keyValue & ".<br/>The following fields are missing:<br/><br/>"

      ' Display the missing fields.
      Dim value As String
      For Each value In
 emptyFieldList
      
        ' Use the OldValues property to access the original value
        ' of a field.
        MessageLabel.Text &= value & " - Original Value
 = " & _
          e.OldValues(value).ToString() & "<br>"
        
      Next

      ' Cancel the update operation.
      e.Cancel = True

    Else
    
      ' The field values passed validation. Clear the
      ' error message label.
      MessageLabel.Text = ""
      
    End If

  End Sub

  Function ValidateFields(ByVal list As
 IOrderedDictionary) As ArrayList
    
    ' Create an ArrayList object to store the
    ' names of any empty fields.
    Dim emptyFieldList As New
 ArrayList()

    ' Iterate though the field values entered by
    ' the user and check for an empty field. Empty
    ' fields contain a null value.
    Dim entry As DictionaryEntry
    
    For Each entry In list
    
      If entry.Value Is String.Empty
 Then
      
        ' Add the field name to the ArrayList object.
        emptyFieldList.Add(entry.Key.ToString())
        
      End If
      
    Next

    Return emptyFieldList
  
  End Function
  
  Sub EmployeeFormView_ModeChanging(ByVal sender
 As Object, ByVal e As
 FormViewModeEventArgs) Handles EmployeeFormView.ModeChanging
  
    If e.CancelingEdit Then
      
      ' The user canceled the update operation.
      ' Clear the error message label.
      MessageLabel.Text = ""
    
    End If
    
  End Sub
  
</script>

<html>
  <body>
    <form runat="server">
        
      <h3>FormView Example</h3>
                       
      <asp:formview id="EmployeeFormView"
        datasourceid="EmployeeSource"
        allowpaging="true"
        datakeynames="EmployeeID"
        headertext="Employee Record"
        emptydatatext="No employees found."
        runat="server">
        
        <headerstyle backcolor="CornFlowerBlue"
          forecolor="White"
          font-size="14"
          horizontalalign="Center"  
          wrap="false"/>
        <rowstyle backcolor="LightBlue"
          wrap="false"/>
        <pagerstyle backcolor="CornFlowerBlue"/>

        <itemtemplate>
          <table>
            <tr>
              <td rowspan="6">
                <asp:image id="EmployeeImage"
                  imageurl='<%# Eval("PhotoPath") %>'
                  alternatetext='<%# Eval("LastName") %>'
 
                  runat="server"/>
              </td>
              <td colspan="2">
                  &nbsp; 
              </td>
            </tr>
            <tr>
              <td>
                <b>Name:</b>
              </td>
              <td>
                <%# Eval("FirstName") %> <%#
 Eval("LastName") %>
              </td>
            </tr>
            <tr>
              <td>
                <b>Title:</b>
              </td>
              <td>
                <%# Eval("Title") %>
              </td>
            </tr>
            <tr>
              <td>
                <b>Hire Date:</b>                
 
              </td>
              <td>
                <%# Eval("HireDate","{0:d}")
 %>
              </td>
            </tr>
            <tr height="150" valign="top">
              <td>
                <b>Address:</b>
              </td>
              <td>
                <%# Eval("Address") %><br/>
                <%# Eval("City") %> <%# Eval("Region")
 %>
                <%# Eval("PostalCode") %><br/>
                <%# Eval("Country") %>   
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:linkbutton id="Edit"
                  text="Edit"
                  commandname="Edit"
                  runat="server"/> 
              </td>
            </tr>
          </table>       
        </itemtemplate>
        <edititemtemplate>
          <table>
            <tr>
              <td rowspan="6">
                <asp:image id="EmployeeEditImage"
                  imageurl='<%# Eval("PhotoPath") %>'
                  alternatetext='<%# Eval("LastName") %>'
 
                  runat="server"/>
              </td>
              <td colspan="2">
                  &nbsp; 
              </td>
            </tr>
            <tr>
              <td>
                <b>Name:</b>
              </td>
              <td>
                <asp:textbox id="FirstNameUpdateTextBox"
                  text='<%# Bind("FirstName") %>'
                  runat="server"/>
                <asp:textbox id="LastNameUpdateTextBox"
                  text='<%# Bind("LastName") %>'
                  runat="server"/>
              </td>
            </tr>
            <tr>
              <td>
                <b>Title:</b>
              </td>
              <td>
                <asp:textbox id="TitleUpdateTextBox"
                  text='<%# Bind("Title") %>'
                  runat="server"/> 
              </td>
            </tr>
            <tr>
              <td>
                <b>Hire Date:</b>                
 
              </td>
              <td>
                <asp:textbox id="HireDateUpdateTextBox"
                  text='<%# Bind("HireDate", "{0:d}")
 %>'
                  runat="server"/>
              </td>
            </tr>
            <tr height="150" valign="top">
              <td>
                <b>Address:</b>
              </td>
              <td>
                <asp:textbox id="AddressUpdateTextBox"
                  text='<%# Bind("Address") %>'
                  runat="server"/>
                <br/>
                <asp:textbox id="CityUpdateTextBox"
                  text='<%# Bind("City") %>'
                  runat="server"/> 
                <asp:textbox id="RegionUpdateTextBox"
                  text='<%# Bind("Region") %>'
                  width="40"
                  runat="server"/>
                <asp:textbox id="PostalCodeUpdateTextBox"
                  text='<%# Bind("PostalCode") %>'
                  width="60"
                  runat="server"/>
                <br/>
                <asp:textbox id="CountryUpdateTextBox"
                  text='<%# Bind("Country") %>'
                  runat="server"/> 
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:linkbutton id="UpdateButton"
                  text="Update"
                  commandname="Update"
                  runat="server"/>
                <asp:linkbutton id="CancelButton"
                  text="Cancel"
                  commandname="Cancel"
                  runat="server"/> 
              </td>
            </tr>
          </table>       
        </edititemtemplate>
          
        <pagersettings position="Bottom"
          mode="Numeric"/> 
                  
      </asp:formview>
      
      <br/><br/>
      
      <asp:label id="MessageLabel"
          forecolor="Red"
          runat="server"/>
          
      <!-- 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="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName],
 [Title], [Address], [City], [Region], [PostalCode], [Country], [HireDate], [PhotoPath]
 From [Employees]"
        updatecommand="Update [Employees] Set [LastName]=@LastName,
 [FirstName]=@FirstName, [Title]=@Title, [Address]=@Address, [City]=@City, [Region]=@Region,
 [PostalCode]=@PostalCode, [Country]=@Country Where [EmployeeID]=@EmployeeID"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
 
        runat="server"/>
            
    </form>
  </body>
</html>

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

<script runat="server">

  void EmployeeFormView_ItemUpdating(Object sender, FormViewUpdateEventArgs
 e)
  {

    // Validate the field values entered by the user. This
    // example determines whether the user left any fields
    // empty. Use the NewValues property to access the new 
    // values entered by the user.
    ArrayList emptyFieldList = ValidateFields(e.NewValues);

    if (emptyFieldList.Count > 0)
    {

      // The user left some fields empty. Display an error message.
      
      // Use the Keys property to retrieve the key field value.
      String keyValue = e.Keys["EmployeeID"].ToString();

      MessageLabel.Text = "You must enter a value for each
 field of record " +
        keyValue + ".<br/>The following fields are missing:<br/><br/>";

      // Display the missing fields.
      foreach (String value in emptyFieldList)
      {
        // Use the OldValues property to access the original value
        // of a field.
        MessageLabel.Text += value + " - Original Value = " + 
          e.OldValues[value].ToString() + "<br>";
      }

      // Cancel the update operation.
      e.Cancel = true;

    }
    else
    {
      // The field values passed validation. Clear the
      // error message label.
      MessageLabel.Text = "";
    }

  }

  ArrayList ValidateFields(IOrderedDictionary list)
  {
    
    // Create an ArrayList object to store the
    // names of any empty fields.
    ArrayList emptyFieldList = new ArrayList();

    // Iterate though the field values entered by
    // the user and check for an empty field. Empty
    // fields contain a null value.
    foreach (DictionaryEntry entry in list)
    {
      if (entry.Value == String.Empty)
      {
        // Add the field name to the ArrayList object.
        emptyFieldList.Add(entry.Key.ToString());
      }
    }

    return emptyFieldList;
  }

  void EmployeeFormView_ModeChanging(Object sender, FormViewModeEventArgs
 e)
  {
    if (e.CancelingEdit)
    {
      // The user canceled the update operation.
      // Clear the error message label.
      MessageLabel.Text = "";
    }
  }

</script>

<html>
  <body>
    <form runat="server">
        
      <h3>FormView Example</h3>
                       
      <asp:formview id="EmployeeFormView"
        datasourceid="EmployeeSource"
        allowpaging="true"
        datakeynames="EmployeeID"
        headertext="Employee Record"
        emptydatatext="No employees found."
        onitemupdating="EmployeeFormView_ItemUpdating"
        onmodechanging="EmployeeFormView_ModeChanging"  
        runat="server">
        
        <headerstyle backcolor="CornFlowerBlue"
          forecolor="White"
          font-size="14"
          horizontalalign="Center"  
          wrap="false"/>
        <rowstyle backcolor="LightBlue"
          wrap="false"/>
        <pagerstyle backcolor="CornFlowerBlue"/>

        <itemtemplate>
          <table>
            <tr>
              <td rowspan="6">
                <asp:image id="EmployeeImage"
                  imageurl='<%# Eval("PhotoPath") %>'
                  alternatetext='<%# Eval("LastName") %>' 
                  runat="server"/>
              </td>
              <td colspan="2">
                  &nbsp; 
              </td>
            </tr>
            <tr>
              <td>
                <b>Name:</b>
              </td>
              <td>
                <%# Eval("FirstName") %> <%# Eval("LastName")
 %>
              </td>
            </tr>
            <tr>
              <td>
                <b>Title:</b>
              </td>
              <td>
                <%# Eval("Title") %>
              </td>
            </tr>
            <tr>
              <td>
                <b>Hire Date:</b>                 
              </td>
              <td>
                <%# Eval("HireDate","{0:d}") %>
              </td>
            </tr>
            <tr height="150" valign="top">
              <td>
                <b>Address:</b>
              </td>
              <td>
                <%# Eval("Address") %><br/>
                <%# Eval("City") %> <%# Eval("Region")
 %>
                <%# Eval("PostalCode") %><br/>
                <%# Eval("Country") %>   
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:linkbutton id="Edit"
                  text="Edit"
                  commandname="Edit"
                  runat="server"/> 
              </td>
            </tr>
          </table>       
        </itemtemplate>
        <edititemtemplate>
          <table>
            <tr>
              <td rowspan="6">
                <asp:image id="EmployeeEditImage"
                  imageurl='<%# Eval("PhotoPath") %>'
                  alternatetext='<%# Eval("LastName") %>' 
                  runat="server"/>
              </td>
              <td colspan="2">
                  &nbsp; 
              </td>
            </tr>
            <tr>
              <td>
                <b>Name:</b>
              </td>
              <td>
                <asp:textbox id="FirstNameUpdateTextBox"
                  text='<%# Bind("FirstName") %>'
                  runat="server"/>
                <asp:textbox id="LastNameUpdateTextBox"
                  text='<%# Bind("LastName") %>'
                  runat="server"/>
              </td>
            </tr>
            <tr>
              <td>
                <b>Title:</b>
              </td>
              <td>
                <asp:textbox id="TitleUpdateTextBox"
                  text='<%# Bind("Title") %>'
                  runat="server"/> 
              </td>
            </tr>
            <tr>
              <td>
                <b>Hire Date:</b>                 
              </td>
              <td>
                <asp:textbox id="HireDateUpdateTextBox"
                  text='<%# Bind("HireDate", "{0:d}") %>'
                  runat="server"/>
              </td>
            </tr>
            <tr height="150" valign="top">
              <td>
                <b>Address:</b>
              </td>
              <td>
                <asp:textbox id="AddressUpdateTextBox"
                  text='<%# Bind("Address") %>'
                  runat="server"/>
                <br/>
                <asp:textbox id="CityUpdateTextBox"
                  text='<%# Bind("City") %>'
                  runat="server"/> 
                <asp:textbox id="RegionUpdateTextBox"
                  text='<%# Bind("Region") %>'
                  width="40"
                  runat="server"/>
                <asp:textbox id="PostalCodeUpdateTextBox"
                  text='<%# Bind("PostalCode") %>'
                  width="60"
                  runat="server"/>
                <br/>
                <asp:textbox id="CountryUpdateTextBox"
                  text='<%# Bind("Country") %>'
                  runat="server"/> 
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:linkbutton id="UpdateButton"
                  text="Update"
                  commandname="Update"
                  runat="server"/>
                <asp:linkbutton id="CancelButton"
                  text="Cancel"
                  commandname="Cancel"
                  runat="server"/> 
              </td>
            </tr>
          </table>       
        </edititemtemplate>
          
        <pagersettings position="Bottom"
          mode="Numeric"/> 
                  
      </asp:formview>
      
      <br/><br/>
      
      <asp:label id="MessageLabel"
          forecolor="Red"
          runat="server"/>
          
      <!-- 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="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName], [Title],
 [Address], [City], [Region], [PostalCode], [Country], [HireDate], [PhotoPath] From
 [Employees]"
        updatecommand="Update [Employees] Set [LastName]=@LastName, [FirstName]=@FirstName,
 [Title]=@Title, [Address]=@Address, [City]=@City, [Region]=@Region, [PostalCode]=@PostalCode,
 [Country]=@Country Where [EmployeeID]=@EmployeeID"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
 
        runat="server"/>
            
    </form>
  </body>
</html>

FormView コントロール使用して新規レコード挿入する方法次の例に示します

<%@ Page language="VB" %>

<html>
  <body>
    <form runat="server">
        
      <h3>FormView InsertItemTemplate Example</h3>
                       
      <asp:formview id="EmployeeFormView"
        datasourceid="EmployeeSource"
        allowpaging="true"
        datakeynames="EmployeeID"
        emptydatatext="No employees found."  
        runat="server">
        
        <rowstyle backcolor="LightGreen"
          wrap="false"/>
        <insertrowstyle backcolor="LightBlue"
          wrap="false"/>

        <itemtemplate>
          <table>
            <tr>
              <td rowspan="5">
                <asp:image id="CompanyLogoImage"
                  imageurl="~/Images/Logo.jpg"
                  alternatetext="Company Logo"
                  runat="server"/>
              </td>
              <td colspan="2">
                  &nbsp; 
              </td>
            </tr>
            <tr>
              <td>
                <b>Name:</b>
              </td>
              <td>
                <%# Eval("FirstName") %> <%#
 Eval("LastName") %>
              </td>
            </tr>
            <tr>
              <td>
                <b>Title:</b>
              </td>
              <td>
                <%# Eval("Title") %>
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:linkbutton id="NewButton"
                  text="New"
                  commandname="New"
                  runat="server"/> 
              </td>
            </tr>
          </table>       
        </itemtemplate>
        <insertitemtemplate>
          <table>
            <tr>
              <td rowspan="4">
                <asp:image id="CompanyLogoEditImage"
                  imageurl="~/Images/Logo.jpg"
                  alternatetext="Company Logo"
                  runat="server"/>
              </td>
              <td colspan="2">
                  &nbsp; 
              </td>
            </tr>
            <tr>
              <td>
                <b>Name:</b>
              </td>
              <td>
                <asp:textbox id="FirstNameInsertTextBox"
                  text='<%# Bind("FirstName") %>'
                  runat="server"/>
                <asp:textbox id="LastNameInsertTextBox"
                  text='<%# Bind("LastName") %>'
                  runat="server"/>
              </td>
            </tr>
            <tr>
              <td>
                <b>Title:</b>
              </td>
              <td>
                <asp:textbox id="TitleInsertTextBox"
                  text='<%# Bind("Title") %>'
                  runat="server"/> 
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:linkbutton id="InsertButton"
                  text="Insert"
                  commandname="Insert"
                  runat="server"/>
                <asp:linkbutton id="CancelButton"
                  text="Cancel"
                  commandname="Cancel"
                  runat="server"/> 
              </td>
            </tr>
          </table>       
        </insertitemtemplate> 
                  
      </asp:formview>

      <!-- 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="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName],
 [Title], [PhotoPath] From [Employees]"
        insertcommand="Insert Into [Employees] ([LastName], [FirstName],
 [Title]) VALUES (@LastName, @FirstName, @Title)"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
 
        runat="server"/>
            
    </form>
  </body>
</html>

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

<html>
  <body>
    <form runat="server">
        
      <h3>FormView InsertItemTemplate Example</h3>
                       
      <asp:formview id="EmployeeFormView"
        datasourceid="EmployeeSource"
        allowpaging="true"
        datakeynames="EmployeeID"
        emptydatatext="No employees found."  
        runat="server">
        
        <rowstyle backcolor="LightGreen"
          wrap="false"/>
        <insertrowstyle backcolor="LightBlue"
          wrap="false"/>

        <itemtemplate>
          <table>
            <tr>
              <td rowspan="5">
                <asp:image id="CompanyLogoImage"
                  imageurl="~/Images/Logo.jpg"
                  alternatetext="Company Logo"
                  runat="server"/>
              </td>
              <td colspan="2">
                  &nbsp; 
              </td>
            </tr>
            <tr>
              <td>
                <b>Name:</b>
              </td>
              <td>
                <%# Eval("FirstName") %> <%# Eval("LastName")
 %>
              </td>
            </tr>
            <tr>
              <td>
                <b>Title:</b>
              </td>
              <td>
                <%# Eval("Title") %>
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:linkbutton id="NewButton"
                  text="New"
                  commandname="New"
                  runat="server"/> 
              </td>
            </tr>
          </table>       
        </itemtemplate>
        <insertitemtemplate>
          <table>
            <tr>
              <td rowspan="4">
                <asp:image id="CompanyLogoEditImage"
                  imageurl="~/Images/Logo.jpg"
                  alternatetext="Company Logo"
                  runat="server"/>
              </td>
              <td colspan="2">
                  &nbsp; 
              </td>
            </tr>
            <tr>
              <td>
                <b>Name:</b>
              </td>
              <td>
                <asp:textbox id="FirstNameInsertTextBox"
                  text='<%# Bind("FirstName") %>'
                  runat="server"/>
                <asp:textbox id="LastNameInsertTextBox"
                  text='<%# Bind("LastName") %>'
                  runat="server"/>
              </td>
            </tr>
            <tr>
              <td>
                <b>Title:</b>
              </td>
              <td>
                <asp:textbox id="TitleInsertTextBox"
                  text='<%# Bind("Title") %>'
                  runat="server"/> 
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:linkbutton id="InsertButton"
                  text="Insert"
                  commandname="Insert"
                  runat="server"/>
                <asp:linkbutton id="CancelButton"
                  text="Cancel"
                  commandname="Cancel"
                  runat="server"/> 
              </td>
            </tr>
          </table>       
        </insertitemtemplate> 
                  
      </asp:formview>

      <!-- 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="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName], [Title],
 [PhotoPath] From [Employees]"
        insertcommand="Insert Into [Employees] ([LastName], [FirstName], [Title])
 VALUES (@LastName, @FirstName, @Title)"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
 
        runat="server"/>
            
    </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.FormView
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
FormView メンバ
System.Web.UI.WebControls 名前空間
DetailsView クラス
GridView
FormViewRow
FormViewMode
AccessDataSource クラス
SqlDataSource
ObjectDataSource
AllowPaging
CurrentMode
DataKeyNames
DefaultMode
PagerStyle
PagerSettings
EditRowStyle
EmptyDataRowStyle
FooterStyle
HeaderStyle
InsertRowStyle
PagerStyle
RowStyle
EditItemTemplate
EmptyDataTemplate
FooterTemplate
HeaderTemplate
InsertItemTemplate
ItemTemplate
PagerTemplate
ItemCreated
ItemCommand
ItemDeleted
ItemDeleting
ItemInserted
ItemInserting
ItemUpdated
ItemUpdating
ModeChanged
ModeChanging
PageIndexChanged
PageIndexChanging



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

辞書ショートカット

すべての辞書の索引

「FormView クラス」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS