C#怎么将数据库中的数据和图片同时显示在datagridview控件中。windows form的
C#如何将数据库中的数据和图片同时显示在datagridview控件中。windows form的.
我数据库中的数据有4列,三列数据,一列图片。 我想在datagridview控件中同时显示,前3列数据,最后一列图片。数据库里的图片是以二进制形式保存的。datagridview控件中显示图片的那列最好是缩略图,然后在图片上添加链接显示原图怎样实现。
------解决方案--------------------
参考
http://bbs.****.net/topics/390103476
------解决方案--------------------
还添加链接?又不是从URL获取的网络图片,哪来的链接啊
表格里加个自定义列,格式为image就行了.
------解决方案--------------------
参考
------解决方案--------------------
不是什么机密图片搞什么二进制 直接存图片地址不就行了
------解决方案--------------------
页面
我数据库中的数据有4列,三列数据,一列图片。 我想在datagridview控件中同时显示,前3列数据,最后一列图片。数据库里的图片是以二进制形式保存的。datagridview控件中显示图片的那列最好是缩略图,然后在图片上添加链接显示原图怎样实现。
------解决方案--------------------
参考
http://bbs.****.net/topics/390103476
------解决方案--------------------
还添加链接?又不是从URL获取的网络图片,哪来的链接啊
表格里加个自定义列,格式为image就行了.
------解决方案--------------------
参考
------解决方案--------------------
<asp:GridView ID="d" runat="server" AutoGenerateColumns="False" AutoGenerateColumns="False" DataKeyNames="id" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:BoundField Field="title"/>
<asp:BoundField Field="test"/>
<asp:TemplateField></asp:TemplateField>
</Columns>
</asp:GridView>
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
int id = int.Parse(d.DataKeys[e.Row.RowIndex].Value.ToString());
Image img = d.Rows[e.Row.RowIndex].FindControl("img") as Image;
if (img != null)
{
img.ImageUrl = "test.aspx?id="+id;
}
}
}
test.aspx.cs 加载事件
//根据id读取图片字段
string str = "server=X;database=X;uid=X;pwd=X";
string sql = "select image from ddd where id="+Request["id"];
SqlConnection con = new SqlConnection(str);
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.HasRows)
{
sdr.Read();
byte[] bytes = (byte[])sdr["pic"];
MemoryStream ms = new MemoryStream(bytes);
Bitmap bmp = new Bitmap(30, 30);//缩略图大小
//百度MemoryStream生成验证码返回图片格式
}
sdr.Close();
con.Close();
不是什么机密图片搞什么二进制 直接存图片地址不就行了
------解决方案--------------------
页面
<asp:GridView ID="d" runat="server" AutoGenerateColumns="False" DataKeyNames="id" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:BoundField DataField="id"/>
<asp:BoundField DataField="name"/>
<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="img" runat="server" />
</ItemTemplate>
</asp:TemplateField>