是否有可能在datagridviewcell中动态添加图像
本文关键字:动态 添加 图像 datagridviewcell 有可能 是否 | 更新日期: 2023-09-27 18:09:09
我正在开发一个小的应用程序,我必须包括图像与其他数据从SQL,但图像应该来自本地磁盘取决于文件名从数据库。有可能做到吗?如何?
use 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);
}
}
}
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;
在这个示例中,我将DataGridViewImageColumn
的DataPropertyName
设置为img
property
如果我正确理解你的问题,你有在数据库中的图像url,并希望在gridview中显示这些图像。如果是这样的话,我的建议是静态地向gridview添加一个"asp:Image"标签,并使用"Bind"方法更新"ImageUrl"属性。
希望这有帮助!!