PDA

View Full Version : سوال: نشان دادن يك فيلد از نوع image در gridview



ms_raha
یک شنبه 11 بهمن 1388, 16:18 عصر
سلام
من يك جدول در پايگاه داده sql درست كردم كه يك فيلد از نوع image داره من ميخواهم اطلاعات اين جدول را در gridview نمايش دهم چطوري مي توانم فيلد image را هم اضافه كنم كه عكس را هم نشان دهد
ممنون

Peyman.Gh
یک شنبه 11 بهمن 1388, 16:22 عصر
این فیلم رو ببین فکر کنم به جوابت میرسی !

http://barnamenevis.org/forum/showpost.php?p=880243&postcount=6

ironman
یک شنبه 11 بهمن 1388, 16:27 عصر
میتونید داخل گریدوی (تمپلیت)و یک image قرار بدید و اونو به مقدار عکس داخل دیتابیس بایند کنید

hajizahiry
شنبه 08 اسفند 1388, 15:16 عصر
1- فرض کنید این فیلد عکس می باشد :
<ItemTemplate>
<asp:Image runat="server" ID="img_prsID" Width="51" Height="60" ImageUrl='<%# "~/ShowImage.aspx?PID=" + DataBinder.Eval(Container, "DataItem.Prs_Fld_PersonelID")%>'/>
</ItemTemplate>
2- کد ShowImage.aspx به صورت زیر می باشد

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
public partial class ShowImage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string PID = Request.QueryString["PID"].ToString();
if (PID == "0") return;
DataSet ds = Load_Image(PID);
try
{
if (ds.Tables[0].Rows.Count == 0)
return;
}
catch
{
return;
}
try
{
if (ds.Tables[0].Rows[0]["Picture"].ToString() != "")
PutInImage(ds);
else
{
ds = Load_Image("0");
PutInImage(ds);
}
}
catch
{
ds = Load_Image("0");
PutInImage(ds);
}
}
private DataSet Load_Image(string PID)
{
DataSet ds = new DataSet();
SSPIConnection cnn = new SSPIConnection();
try
{
SqlCommand selectCommand = new SqlCommand("Prs_Sp_Sel_Image", cnn.DB_Connection);
selectCommand.CommandType = CommandType.StoredProcedure;
selectCommand.Parameters.AddWithValue("@Prs_Fld_PersonelID", Convert.ToInt32(PID));
SqlDataAdapter adapter1 = new SqlDataAdapter();
adapter1.SelectCommand = selectCommand;
if (cnn.DB_Connection.State != ConnectionState.Open)
cnn.DB_Connection.Open();
adapter1.Fill(ds);
}
catch (Exception exp)
{
LblScripts.Text = "<script language=javascript>alert(' خطا " + exp.Message.ToString() + "');</script>";
}
finally
{
if (cnn.DB_Connection.State != ConnectionState.Closed)
cnn.DB_Connection.Close();
}
return ds;
}
private void PutInImage(DataSet ds)
{
System.IO.MemoryStream ms;
if (ds.Tables[0].Rows[0]["Picture"].ToString() != "")
{
ms = new System.IO.MemoryStream();
byte[] imageData = (byte[])ds.Tables[0].Rows[0]["Picture"];
System.Drawing.Image Img = null;
ms = new System.IO.MemoryStream(imageData);
Img = System.Drawing.Image.FromStream(ms);
Response.ContentType = "image/Jpeg";
Img.Save(Response.OutputStream,
System.Drawing.Imaging.ImageFormat.Jpeg);
ms.Close();
}
}
}
</asp:TemplateColumn>