我有一个绑定到和XML文件的DataGridView,该XML文件可能包含某个字段,但可能不包含。如果字段在那里,我想显示相关的DataGridView列,如果不是,我想隐藏它。
我通过设置列可见属性实现了这一点。我遇到的问题是,如果我加载一个没有字段的XML文件(因此该列不可见),然后用该字段加载XML文件,则该列再次可见,但该列的数据不会出现。
我使用下面的代码加载XML文件。
xmlDataGridView.AutoGenerateColumns = false;
xmlDataSet.ReadXml(_tempAccessXMLFile);
xmlDataGridView.DataSource = xmlDataSet;
xmlDataGridView.DataMember = "key";
xmlDataGridView.Refresh();任何帮助都将不胜感激。我肯定我漏掉了一些显而易见的东西。谢谢,(同样,抱歉,如果这不是一个良好的格式或不清楚,我不是很擅长的措辞)
发布于 2015-01-06 11:55:11
我设法找到了某种解决办法。我不认为这个问题与隐藏列有任何关系,只是因为数据第一次绑定时没有列的数据。我刚刚在没有隐藏字段的文件中添加了隐藏字段的虚拟记录。这对我来说是可行的,数据会出现在我需要的时候。谢谢
发布于 2015-01-05 17:50:51
如果列名加载在网格中,但未显示数据,则尝试使用BindingSource。我使用books.xml示例XML文件对其进行了测试,并且运行良好
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();https://stackoverflow.com/questions/27784249
复制相似问题