【问题标题】:Is it possible to add images in datagridview cell dynamically?是否可以在 datagridview 单元格中动态添加图像?
【发布时间】:2011-09-21 15:02:26
【问题描述】:

我正在开发一个小型应用程序,我必须在其中包含来自 SQL 的其他数据的图像,但图像应该来自本地磁盘,具体取决于数据库中的文件名。有可能吗?怎么样?

【问题讨论】:

    标签: c# .net image datagridview


    【解决方案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,您可以在您的 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;
    

    在这个示例中,我将DataGridViewImageColumnDataPropertyName 设置为img 属性

    【讨论】:

    • 哎呀我忘了说我正在使用 Windows 窗体
    【解决方案2】:

    如果我正确理解了您的问题,您在数据库中有图像 url,并希望在 gridview 中显示这些图像。如果是这样,我的建议是静态添加一个“asp:Image”标签到gridview,并使用“Bind”方法更新“ImageUrl”属性。

    希望这会有所帮助!

    【讨论】:

    • 不,我在数据库中有图像名称,我必须在 datagridview 中显示该名称的图像(存储在我的硬盘中)
    猜你喜欢
    • 1970-01-01
    • 2019-04-16
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多