次の方法で共有


GridView.DataBind メソッド

定義

データ ソースを GridView コントロールにバインドします。 このメソッドは継承できません。

public:
 override void DataBind();
public override sealed void DataBind ();
override this.DataBind : unit -> unit
Public Overrides NotOverridable Sub DataBind ()

次の例では、メソッドを使用 DataBind() してデータ ソースをコントロールにバインドする方法を GridView 示します。


<%@ Page language="C#" %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.SqlClient" %>

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

  void Page_Load(Object sender, EventArgs e)
  {
    
    // This example uses Microsoft SQL Server and connects
    // to the Northwind sample database. The data source needs
    // to be bound to the GridView control only when the 
    // page is first loaded. Thereafter, the values are
    // stored in view state.                      
    if(!IsPostBack)
    {
        
      // Declare the query string.
      String queryString = 
        "Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]";
        
      // Run the query and bind the resulting DataSet
      // to the GridView control.
      DataSet ds = GetData(queryString);
      if (ds.Tables.Count > 0)
      {
        AuthorsGridView.DataSource = ds;
        AuthorsGridView.DataBind();
      }
      else
      {
        Message.Text = "Unable to connect to the database.";
      }
            
    }     
    
  }
    
  DataSet GetData(String queryString)
  {

    // Retrieve the connection string stored in the Web.config file.
    String connectionString = ConfigurationManager.ConnectionStrings["NorthWindConnectionString"].ConnectionString;      
 
    DataSet ds = new DataSet();
        
    try
    {
      // Connect to the database and run the query.
      SqlConnection connection = new SqlConnection(connectionString);        
      SqlDataAdapter adapter = new SqlDataAdapter(queryString, connection);
        
      // Fill the DataSet.
      adapter.Fill(ds);
            
    }
    catch(Exception ex)
    {
        
      // The connection failed. Display an error message.
      Message.Text = "Unable to connect to the database.";
        
    }
        
    return ds;
        
  }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView DataBind Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView DataBind Example</h3>
            
      <asp:label id="Message"
        forecolor="Red"
        runat="server"/>
               
      <br/>    

      <asp:gridview id="AuthorsGridView" 
        autogeneratecolumns="true" 
        runat="server">
      </asp:gridview>
                        
    </form>
  </body>
</html>

<%@ Page language="VB" %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.SqlClient" %>

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

  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    
    ' This example uses Microsoft SQL Server and connects
    ' to the Northwind sample database. The data source needs
    ' to be bound to the GridView control only when the 
    ' page is first loaded. Thereafter, the values are
    ' stored in view state.                      
    If Not IsPostBack Then
        
      ' Declare the query string.
      Dim queryString As String = _
        "Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
        
      ' Run the query and bind the resulting DataSet
      ' to the GridView control.
      Dim ds As DataSet = GetData(queryString)
      If (ds.Tables.Count > 0) Then
      
        AuthorsGridView.DataSource = ds
        AuthorsGridView.DataBind()
      
      Else
      
        Message.Text = "Unable to connect to the database."
        
      End If
            
    End If
    
  End Sub
    
  Function GetData(ByVal queryString As String) As DataSet
    
    ' Retrieve the connection string stored in the Web.config file.
    Dim connectionString As String = ConfigurationManager.ConnectionStrings("NorthWindConnectionString").ConnectionString
 
    Dim ds As New DataSet()
        
    Try

      ' Connect to the database and run the query.
      Dim connection As New SqlConnection(connectionString)
      Dim adapter As New SqlDataAdapter(queryString, Connection)
        
      ' Fill the DataSet.
      Adapter.Fill(ds)
            
    
    Catch ex As Exception
        
      ' The connection failed. Display an error message.
      Message.Text = "Unable to connect to the database."
        
    End Try
        
    Return ds
        
  End Function
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView DataBind Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView DataBind Example</h3>
            
      <asp:label id="Message"
        forecolor="Red"
        runat="server"/>
               
      <br/>    

      <asp:gridview id="AuthorsGridView" 
        autogeneratecolumns="true" 
        runat="server">
      </asp:gridview>
                        
    </form>
  </body>
</html>

注釈

このメソッドを DataBind() 使用して、データ ソースからコントロールにデータを GridView バインドします。 このメソッドは、コントロールのアクティブなテンプレート内のすべてのデータ バインディング式を解決します。

コントロールのプロパティが有効なデータ ソース コントロールをDataSourceIDGridView参照している場合、このメソッドはDataBind自動的に呼び出されます。

メソッドを DataBind 手動で呼び出す代わりに、プロパティを 〗のデータを DataBind 返すメソッドの名前に設定 SelectMethod することで、コントロールでモデル バインドを GridView使用できます。 GridViewその後、select メソッドから返されるデータが自動的に設定されます。 モデル バインドを使用すると、データを操作するためのコードを簡略化できます。 詳細については、「モデル バインドとWeb Forms」を参照してください。

適用対象

こちらもご覧ください