我正在开发一个小应用程序,其中我必须包含来自SQL的其他数据的图像,但图像应该来自本地磁盘,具体取决于数据库中的文件名。有可能做到吗?如何?
先谢谢了!
答案 0 :(得分:1)
使用TamplateField
<asp:GridView ID="myGridView" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<img src="<%#Eval("FileName")%>" alt="NoImage">
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
请注意,您应将图像标记源设置为相对路径而非物理路径
修改强>
如您在评论中提到的winforms,您可以在DataGridViewImageColumn
中使用DataGridVeiw
并将其DataPropertyName
属性设置为图片实例。
检查我的简单示例
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);
}
}
}
in from load
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;
在此示例中,我将DataPropertyName
的{{1}}设置为DataGridViewImageColumn
属性
答案 1 :(得分:0)
如果我正确理解了您的问题,您在数据库中有图像网址,并希望在网格视图中显示这些图像。如果是这样,我的建议是静态地向gridview添加一个“asp:Image”标签,并使用“Bind”方法更新“ImageUrl”attr。
希望这会有所帮助!!