首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Xml到DataGridViewColumn的DataGridViewColumn字符串作为图像列

从Xml到DataGridViewColumn的DataGridViewColumn字符串作为图像列
EN

Stack Overflow用户
提问于 2013-12-29 10:04:22
回答 1查看 653关注 0票数 0

绑定DataSetDataGridView.DataSource很好。通过这个

代码语言:javascript
复制
DataSet ds = new DataSet();
ds.ReadXml(xmlFilePath);

dataGrid.DataSource = ds;
dataGrid.DataMember = "Teacher";

XML

代码语言:javascript
复制
<Teachers>
<Teacher>
    <FullName>AAAAAA</FullName>
    <Gender>Male</Gender>
    .
    .
    .
    . More than 15 Columns
    .
    <Photo> --- Base64 string--- </Photo>
</Teacher>
<Teacher>
.
.
.
</Teacher>
</Teachers>

但是如何将元素的Base64字符串转换为DataGridView中的图像列。Photo列显示为原样。(BASE64字符串)。

--稍后-

我试过这个。

代码语言:javascript
复制
private void dg_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (dg.Columns[e.ColumnIndex].Name == "Photo" && !dg.Rows[e.RowIndex].IsNewRow)
    {
        if (!string.IsNullOrEmpty(e.Value + ""))
        {
            e.Value = Base64ToImage(e.Value + "");
        }
    }
}

但是输出是这样的..。

EN

回答 1

Stack Overflow用户

发布于 2014-05-29 21:41:05

您需要将datagrids的autogeneratecolumns属性设置为false。然后,在Datagrid的Columns属性中,在设计视图中自己生成列。确保将包含图像的列设置为DataGridViewImageColumn。

在设计视图中创建列时,不要忘记在列上设置DataPropertyName。这将使DataGridView能够知道它应该从数据源加载什么。

这应该是可行的,结合你已经做的上面的事情。

有关更多信息,请查看此链接how to bind datatable to datagridview in c sharp

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20824006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档