Share via


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 控制項。 這個方法會解析 控制項使用中範本中的所有資料系結運算式。

如果控制項的 GridView 屬性參考有效的資料來源控制項, DataSourceIDDataBind 會自動呼叫 方法。

您可以將 屬性設定 SelectMethod 為傳回 資料 GridView 的方法名稱,而不是手動呼叫 方法,而不需手動呼叫 DataBind 方法,即可搭配控制項使用模型 DataBind 系結。 GridView接著會自動填入從 select 方法傳回的資料。 模型系結可以簡化程式碼來處理資料。 如需詳細資訊,請參閱模型系結和Web Form

適用於

另請參閱