| 導購 | 订阅 | 在线投稿
分享
 
 
 

在WebForm的DadaGrid中顯示圖象

來源:互聯網  2008-05-19 04:14:52  評論

DadaGrid 是 ASP.NET 編程中一個很重要的控件,其優良的可定制功能爲提高它的表現力提供了極大的方便。除了與數據源直接綁定以外,我們還可以通過列綁定模板對 DataGrid 的列進行自定義,來按照我們設定的格式顯示數據。

例如,數據表中有一個字段 f_DemoImage 用來存放圖片的路徑(包括圖片文件名),爲了在 DataGrid 的 Cell 中顯示實際的圖片,我們可以定義一個模板列,然後給該列賦予字段 f_DemoImage 的值,就可以在 DataGrid 的 Cell 中顯示圖片。

WebForm1.aspx 文件:

<%@ Page language="c#" Codebehind="Wizard_select_template.aspx.cs" AutoEventWireup="false" Inherits="WebHatcher.WebForm1" %

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"

<HTML

<HEAD

<titleWebForm1</title

<meta content="Microsoft Visual Studio .NET 7.1" name=GENERATOR

<meta content=C# name=CODE_LANGUAGE

<meta content=JavaScript name=vs_defaultClientScript

<meta content=http://schemas.microsoft.com/intellisense/ie5 name=vs_targetSchema

<LINK href="./styles/style.css" type=text/css rel=stylesheet

</HEAD

<body MS_POSITIONING="GridLayout"

<form id=Form1 method=post runat="server"

<asp:datagrid id=DataGrid1 runat="server" AutoGenerateColumns="False" Width="744px"

<Columns

<asp:TemplateColumn

<ItemTemplate

<asp:Image id="Image1" ImageUrl='<% #DataBinder.Eval(Container,"DataItem.f_DemoImage") %' runat="server"</asp:Image

</ItemTemplate

</asp:TemplateColumn

</Columns

</asp:datagrid

</form

</body

</HTML

///WebForm1.aspx.cs 文件:

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using myDBAccess; //我的命名空間

namespace WebHatcher

{

/// <summary

/// WebForm1 的摘要說明。

/// </summary

public class WebForm1 : System.Web.UI.Page

{

protected System.Web.UI.WebControls.DataGrid DataGrid1;

private void Page_Load(object sender, System.EventArgs e)

{

// 在此處放置用戶代碼以初始化頁面

if (Page.IsPostBack)

{ }

else

{

// 在 DataGrid 中顯示數據(包括圖象):

myTableAccess oDbTable = new myTableAccess(); //myTableAccess我是定義的數據庫訪問類

oDbTable.sDbPath = Server.MapPath("./webhatcher.mdb");

oDbTable.sPassword = "";

oDbTable.sSQL = "select * from tabTemplate";

//tabTemplate是包含 f_DemoImage 字段的數據表

DataGrid1.DataSource = oDbTable.ReadFromTable();

DataGrid1.DataBind();

}

}

#region Web 窗體設計器生成的代碼

override protected void OnInit(EventArgs e)

{

// CODEGEN: 該調用是 ASP.NET Web 窗體設計器所必需的。

InitializeComponent();

base.OnInit(e);

}

/// <summary

/// 設計器支持所需的方法 - 不要使用代碼編輯器修改此方法的內容。

/// </summary

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

}

#endregion

}

}

//數據訪問類的定義:

using System;

using System.Data;

using System.Data.OleDb;

namespace myDBAccess

{

/// 數據庫存取 namespace:

/// 類名:myTableAccess

/// 屬性:

/// sDbPath

數據庫路徑(包括數據庫文件名)

///

sPassword

數據庫口令

///

sSQL

SQL 語句

public class myTableAccess

{

//聲明 3 個屬性(域):

public string sDbPath = "";

public string sPassword = "";

public string sSQL = "";

private OleDbConnection oConn;

public void OpenDB()

{

oConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sDbPath + ";Password=" + sPassword + ";");

oConn.Open();

}

public void CloseDB()

{oConn.Close(); }

public DataView ReadFromTable()

{

OpenDB();

OleDbDataAdapter oAdp = new OleDbDataAdapter(sSQL, oConn);

DataSet oDtSt = new DataSet();

oAdp.Fill(oDtSt, "aTable");

CloseDB();

return oDtSt.Tables["aTable"].DefaultView;

//返回默認視圖

}

}

}

(完)

  DadaGrid 是 ASP.NET 編程中一個很重要的控件,其優良的可定制功能爲提高它的表現力提供了極大的方便。除了與數據源直接綁定以外,我們還可以通過列綁定模板對 DataGrid 的列進行自定義,來按照我們設定的格式顯示數據。   例如,數據表中有一個字段 f_DemoImage 用來存放圖片的路徑(包括圖片文件名),爲了在 DataGrid 的 Cell 中顯示實際的圖片,我們可以定義一個模板列,然後給該列賦予字段 f_DemoImage 的值,就可以在 DataGrid 的 Cell 中顯示圖片。   WebForm1.aspx 文件:   <%@ Page language="c#" Codebehind="Wizard_select_template.aspx.cs" AutoEventWireup="false" Inherits="WebHatcher.WebForm1" %   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"   <HTML   <HEAD   <titleWebForm1</title   <meta content="Microsoft Visual Studio .NET 7.1" name=GENERATOR   <meta content=C# name=CODE_LANGUAGE   <meta content=JavaScript name=vs_defaultClientScript   <meta content=http://schemas.microsoft.com/intellisense/ie5 name=vs_targetSchema   <LINK href="./styles/style.css" type=text/css rel=stylesheet   </HEAD   <body MS_POSITIONING="GridLayout"   <form id=Form1 method=post runat="server"   <asp:datagrid id=DataGrid1 runat="server" AutoGenerateColumns="False" Width="744px"   <Columns   <asp:TemplateColumn   <ItemTemplate   <asp:Image id="Image1" ImageUrl='<% #DataBinder.Eval(Container,"DataItem.f_DemoImage") %' runat="server"</asp:Image   </ItemTemplate   </asp:TemplateColumn   </Columns   </asp:datagrid   </form   </body   </HTML   ///WebForm1.aspx.cs 文件:   using System;   using System.Collections;   using System.ComponentModel;   using System.Data;   using System.Drawing;   using System.Web;   using System.Web.SessionState;   using System.Web.UI;   using System.Web.UI.WebControls;   using System.Web.UI.HtmlControls;   using myDBAccess; //我的命名空間   namespace WebHatcher   {   /// <summary   /// WebForm1 的摘要說明。   /// </summary   public class WebForm1 : System.Web.UI.Page   {   protected System.Web.UI.WebControls.DataGrid DataGrid1;   private void Page_Load(object sender, System.EventArgs e)   {   // 在此處放置用戶代碼以初始化頁面   if (Page.IsPostBack)   { }   else   {   // 在 DataGrid 中顯示數據(包括圖象):   myTableAccess oDbTable = new myTableAccess(); //myTableAccess我是定義的數據庫訪問類   oDbTable.sDbPath = Server.MapPath("./webhatcher.mdb");   oDbTable.sPassword = "";   oDbTable.sSQL = "select * from tabTemplate";   //tabTemplate是包含 f_DemoImage 字段的數據表   DataGrid1.DataSource = oDbTable.ReadFromTable();   DataGrid1.DataBind();   }   }   #region Web 窗體設計器生成的代碼   override protected void OnInit(EventArgs e)   {   // CODEGEN: 該調用是 ASP.NET Web 窗體設計器所必需的。   InitializeComponent();   base.OnInit(e);   }   /// <summary   /// 設計器支持所需的方法 - 不要使用代碼編輯器修改此方法的內容。   /// </summary   private void InitializeComponent()   {   this.Load += new System.EventHandler(this.Page_Load);   }   #endregion   }   }   //數據訪問類的定義:   using System;   using System.Data;   using System.Data.OleDb;   namespace myDBAccess   {   /// 數據庫存取 namespace:   /// 類名:myTableAccess   /// 屬性:   /// sDbPath   數據庫路徑(包括數據庫文件名)   ///   sPassword   數據庫口令   ///   sSQL   SQL 語句   public class myTableAccess   {   //聲明 3 個屬性(域):   public string sDbPath = "";   public string sPassword = "";   public string sSQL = "";   private OleDbConnection oConn;   public void OpenDB()   {   oConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sDbPath + ";Password=" + sPassword + ";");   oConn.Open();   }   public void CloseDB()   {oConn.Close(); }   public DataView ReadFromTable()   {   OpenDB();   OleDbDataAdapter oAdp = new OleDbDataAdapter(sSQL, oConn);   DataSet oDtSt = new DataSet();   oAdp.Fill(oDtSt, "aTable");   CloseDB();   return oDtSt.Tables["aTable"].DefaultView;   //返回默認視圖   }   }   }   (完)      
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有