【发布时间】:2011-09-21 15:02:26
【问题描述】:
我正在开发一个小型应用程序,我必须在其中包含来自 SQL 的其他数据的图像,但图像应该来自本地磁盘,具体取决于数据库中的文件名。有可能吗?怎么样?
【问题讨论】:
标签: c# .net image datagridview
我正在开发一个小型应用程序,我必须在其中包含来自 SQL 的其他数据的图像,但图像应该来自本地磁盘,具体取决于数据库中的文件名。有可能吗?怎么样?
【问题讨论】:
标签: c# .net image datagridview
使用TamplateField
<asp:GridView ID="myGridView" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<img src="<%#Eval("FileName")%>" alt="NoImage">
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
请注意,您应该将图像标记源设置为相对路径而不是物理路径
编辑
对于您在评论中提到的 winforms,您可以在您的 DataGridVeiw 中使用 DataGridViewImageColumn 并将其 DataPropertyName 属性设置为 Image 实例。
检查我的简单示例
class MyDataSource
{
// its value come from your database but now I will set it manually
public String imgurl
{
get;
set;
}
public Image img
{
get
{
return Image.FromFile(imgurl);
}
}
}
加载中
List<MyDataSource> mydatasource = new List<MyDataSource>();
mydatasource.Add(new urls() { imgurl = @"C:\image1.jpg" });
mydatasource.Add(new urls() { imgurl = @"C:\image2.jpg" });
mydatasource.Add(new urls() { imgurl = @"C:\image3.jpg" });
mydatasource.Add(new urls() { imgurl = @"C:\image4.jpg" });
//bind this collection to your datagridview
dataGridView1.DataSource = mydatasource;
在这个示例中,我将DataGridViewImageColumn 的DataPropertyName 设置为img 属性
【讨论】:
如果我正确理解了您的问题,您在数据库中有图像 url,并希望在 gridview 中显示这些图像。如果是这样,我的建议是静态添加一个“asp:Image”标签到gridview,并使用“Bind”方法更新“ImageUrl”属性。
希望这会有所帮助!
【讨论】: