以编程方式在运行时以gridview格式显示图像

时间:2012-10-25 16:03:31

标签: c# asp.net gridview

我正在使用表单来插入数据。此表单有一个文件上传控件,我用来上传图像。我使用DataAdapter和Dataset显示使用关键字搜索后将显示的数据。因此,我将数据集分配给gridview。现在,问题是我想在分配给gridview的数据集时显示图像,但不能有图像。如何在数据集中显示图像和数据? 这是我的代码:

public string getConString()
{
    return System.Configuration.ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
}

protected void Page_Load(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection(getConString());
    string inp = Request.QueryString["srch"].ToString();
    string qry = "select Category,Title,Make,Model,Condition,Price from product WHERE Category like '%" + inp + "%' OR title like '%" + inp + "%' OR make like '%" + inp + "%'OR city like '%" + inp + "%'OR state like '%" + inp + "%'";
    SqlDataAdapter da = new SqlDataAdapter(qry, con);
    DataSet ds = new DataSet();
    con.Open();
    da.Fill(ds);
    con.Close();
    GridView1.DataSource = ds;
    GridView1.DataBind();
}  

2 个答案:

答案 0 :(得分:0)

您可以在gridview中使用模板字段。这允许您编辑每列的显示方式。这取代了您的绑定字段。

<asp:TemplateField HeaderText="FirstName" SortExpression="FirstName"> 
<ItemTemplate>
     <%# Bind("FirstName") %> <img src="..." />
     or <img src='<%# Bind("ImageLocation_db_column") %>' />
</ItemTemplate> 
</asp:TemplateField>

答案 1 :(得分:0)

将GridView的AutoGenerateColumns属性设置为false,然后手动将列添加到网格的源代码中。

图像可以通过这种方式显示:

<Columns>
<asp:ImageField DataImageUrlField="image field of your dataset"></asp:ImageField>
</Columns>