winform中的 datagridview 怎样显示数据库中的图片(数据库中存的是路径)

至_尊_宝 2012-06-20 04:11:46
C# winform中的 datagridview 怎样显示数据库中的图片(数据库中存的是路径),我通过查找数据库,数据库属性有书名,图片,作者,怎么输出?
...全文
1078 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
至_尊_宝 2012-06-21
  • 打赏
  • 举报
回复
问题已经解决了,我在读取的时候再转化一次就OK了,谢谢各位,结贴!用DataGridView控件还是不如PictureBox控件好用哇!
熙风 2012-06-21
  • 打赏
  • 举报
回复
        private void demoGrid_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (demoGrid.Columns[e.ColumnIndex].Name.Equals("Image"))
{
string path = System.Windows.Forms.Application.StartupPath + @"/1.gif";
e.Value = GetImage(path);
}
}


public System.Drawing.Image GetImage(string path)
{
System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Open);
System.Drawing.Image result = System.Drawing.Image.FromStream(fs);
fs.Close();
return result;
}
ididrrr 2012-06-21
  • 打赏
  • 举报
回复
Winfrom啊 图片放在哪里的 本机么?
不整明白图片放在那里,就写程序;这不胡扯么.
至_尊_宝 2012-06-21
  • 打赏
  • 举报
回复
我数据库中picture的类型是image类型的,我在想数据库写入的时候,在获得路径信息后,把它存的值转化为Image类型的,但是从数据库读取的时候,有时string类型的,不知道是为什么。
H_Gragon 2012-06-20
  • 打赏
  • 举报
回复
<asp:GridView ID="GridView1" runat="server">
<EmptyDataTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("图片字段") %>' />
</EmptyDataTemplate>
</asp:GridView>
H_Gragon 2012-06-20
  • 打赏
  • 举报
回复
datagridview中图片列放一个image控件,image控件绑定数据库中的值不就ok了
至_尊_宝 2012-06-20
  • 打赏
  • 举报
回复
有具体的方法么?我刚学这个还不是很懂。谢谢。
__天涯寻梦 2012-06-20
  • 打赏
  • 举报
回复
首先在 datagridview 中建立一列 DataGridViewImageColumn 图片列,DataPropertyName 属性指定数据库图片路径的列名,然后注册 CellFormatting 事件,并在类窗体代码中定义一个项全局变量
// 全局变量,储存图片
private SortedDictionary<string, Image> slist = new SortedDictionary<string, Image>();

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == 显示图片列的索引)
{
if (e.Value is string)
{
// 图片路径
var key = (string)e.Value;
Image img;
// 保存在全局变量中,避免重复加载
if (!slist.TryGetValue(key, out img))
{
img = Image.FromFile(key);
slist.Add(key, img);
}
e.Value = img;
e.FormattingApplied = true;
}
}
}
EnForGrass 2012-06-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

添加dataGridView的DataGridViewImageColumn类型类,绑定一下就可以了。
[/Quote]
是的,定义一个DataGridViewImageColumn列
参考http://blog.csdn.net/xingxingsuhuan/article/details/5328283
dalmeeme 2012-06-20
  • 打赏
  • 举报
回复
添加dataGridView的DataGridViewImageColumn类型类,绑定一下就可以了。

111,013

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧