首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当再次显示数据时,隐藏的DataGridView列不会显示数据

当再次显示数据时,隐藏的DataGridView列不会显示数据
EN

Stack Overflow用户
提问于 2015-01-05 16:57:23
回答 2查看 635关注 0票数 1

我有一个绑定到和XML文件的DataGridView,该XML文件可能包含某个字段,但可能不包含。如果字段在那里,我想显示相关的DataGridView列,如果不是,我想隐藏它。

我通过设置列可见属性实现了这一点。我遇到的问题是,如果我加载一个没有字段的XML文件(因此该列不可见),然后用该字段加载XML文件,则该列再次可见,但该列的数据不会出现。

我使用下面的代码加载XML文件。

代码语言:javascript
复制
xmlDataGridView.AutoGenerateColumns = false;
xmlDataSet.ReadXml(_tempAccessXMLFile);

xmlDataGridView.DataSource = xmlDataSet;
xmlDataGridView.DataMember = "key";

xmlDataGridView.Refresh();

任何帮助都将不胜感激。我肯定我漏掉了一些显而易见的东西。谢谢,(同样,抱歉,如果这不是一个良好的格式或不清楚,我不是很擅长的措辞)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-06 11:55:11

我设法找到了某种解决办法。我不认为这个问题与隐藏列有任何关系,只是因为数据第一次绑定时没有列的数据。我刚刚在没有隐藏字段的文件中添加了隐藏字段的虚拟记录。这对我来说是可行的,数据会出现在我需要的时候。谢谢

票数 0
EN

Stack Overflow用户

发布于 2015-01-05 17:50:51

如果列名加载在网格中,但未显示数据,则尝试使用BindingSource。我使用books.xml示例XML文件对其进行了测试,并且运行良好

代码语言:javascript
复制
xmlDataGridView.AutoGenerateColumns = false;
XmlReader xmlFile = XmlReader.Create(_tempAccessXMLFile, new XmlReaderSettings());

dataSet.ReadXml(xmlFile);

BindingSource bs = new BindingSource();
bs.DataSource =  dataSet.Tables["book"];

xmlDataGridView.DataSource =bs;
xmlDataGridView.Refresh();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27784249

复制
相关文章

相似问题

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