2008-10-14 48 views
1

我有以下幾列一個圖片表:如何使GridView在ASP.NET 2.0中使用DataSet加載圖像?

PICTURE_ID int IDENTITY(1000,1) NOT NULL, 
CATEGORY_ID int NOT NULL, 
IMGDATA image NOT NULL, 
CAPTION1 text COLLATE SQL_Latin1_General_CP1_CI_AS NULL, 
MIME_TYPE nchar(20) NOT NULL DEFAULT ('image/jpeg'), 
IMGTHDATA image NOT NULL 

在我的代碼隱藏我有這樣的:

string tableName = "CATPICS"; 
SqlConnection dbConnection = new SqlConnection(connStr); 
SqlDataAdapter daCatPics = new SqlDataAdapter("SELECT TOP(3) * FROM CATEGORY_PICTURES", dbConnection); 
DataSet dsPics = new DataSet(); 
daCatPics.Fill(dsPics, tableName); 

gvCatPics.DataSource = dsPics; 
gvCatPics.DataMember = tableName; 
gvCatPics.DataBind(); 

上的標記,我非常有:

<asp:GridView ID="gvCatPics" runat="server"></asp:GridView> 

但是,當代碼執行時,它只是忽略兩個圖像列(IMGDATA和IMGTHDATA)。由於某種原因,它不能識別它們是圖像列。有誰知道讓它渲染圖像的最簡單方法嗎?

回答

3

您可以製作一個頁面,將圖像作爲流返回,並從圖像列(或模板列中的IMG標籤)引用該頁面;見GridViewDisplayBlob.aspx

1

沒有真正簡單的方法來做到這一點。基本上你需要創建一個處理程序來顯示圖像。然後在您的網格中,您將創建一個帶有指向圖像處理程序的URL的img標記。

這可以找到一個例子here

更新:這個here的更好的例子。

相關問題