首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET GridView 連接 Access 資料庫並自訂欄位樣式完整教學

     編輯:關於ASP.NET

資料庫連線字串

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\rizhi.mdb;User Id=;Password=;
// 或 ACE 12.0/16.0 (Office 2010+)
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\rizhi.mdb;Persist Security Info=False;

放入 `web.config`:


 

後置程式碼:資料繫結

using System.Data.OleDb;

protected void Page_Load(object sender, EventArgs e)
{
 if (!IsPostBack) BindGrid();
}

void BindGrid()
{
 string connStr = ConfigurationManager.ConnectionStrings["AccessConn"].ConnectionString;
 string sql = "SELECT id, rq, n_je, title, content FROM rizhi";

 using (OleDbConnection conn = new OleDbConnection(connStr))
 using (OleDbCommand cmd = new OleDbCommand(sql, conn))
 {
 conn.Open();
 using (OleDbDataReader dr = cmd.ExecuteReader())
 {
 gvDiary.DataSource = dr;
 gvDiary.DataBind();
 }
 }
}

GridView 完整標記:自訂欄位、樣式、超連結修改


 
 
 
 
 

 
 
 
 

 
 
 
 

 
 
 
 

 
 
 
 

 
 
 
 
 
 

關鍵屬性解析

屬性用途
AutoGenerateColumns="False"關閉自動產生欄位,完全由 `` 定義
BoundField.DataFormatString格式化顯示:日期 `{0:yyyy-MM-dd}`、數字 `{0:N0}` (千分位)
HeaderStyle / ItemStyle分別設定表頭、資料列樣式 (背景色、對齊、字體)
HyperLinkField產生超連結欄位:`DataNavigateUrlFormatString="page.aspx?id={0}"`,`{0}` 為 `DataNavigateUrlFields` 指定欄位值
AllowPaging + PageSize啟用分頁,自動產生分頁器

進階:RowDataBound 動態調整樣式

protected void gvDiary_RowDataBound(object sender, GridViewRowEventArgs e)
{
 if (e.Row.RowType == DataControlRowType.DataRow)
 {
 // 金額為負數顯示紅色
 decimal amount = Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, "n_je"));
 if (amount < 0) e.Row.Cells[2].ForeColor = System.Drawing.Color.Red;

 // 滑鼠懸停變色 (配合 CSS :hover 更佳)
 e.Row.Attributes["onmouseover"] = "this.style.backgroundColor='#FFFFE0';";
 e.Row.Attributes["onmouseout"] = "this.style.backgroundColor='';";
 }
}

總結

GridView 配合 `BoundField`、`HyperLinkField`、`TemplateField` 可靈活呈現 Access/OLEDB 資料。關鍵在於 `AutoGenerateColumns=False` 手工定義欄位,善用 `DataFormatString`、`HeaderStyle`/`ItemStyle`、`DataNavigateUrlFormatString` 實現專業級表格呈現。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved