使用VB.NET我使用此代码将DataGridView绑定到XML文件(用于读取和写入)
全局:
Dim ds As New DataSet
Dim sFile As String = "C:\test.xml"
读:
Using xmlFile As XmlReader = XmlReader.Create(sFile, New XmlReaderSettings())
ds.ReadXml(xmlFile)
gridData.DataSource = ds.Tables("data")
End Using
写作:
ds.WriteXml(sFile)
以下是XML的样子。现在请记住,我完全控制XML的布局,并可以更改它以适合我的代码:
<?xml version="1.0"?>
<template validation="validationgoeshere">
<data>
<digit1>0.507874</digit1>
<digit2>545541</digit2>
<somevalue>78</somevalue>
<blah>0.015</blah>
<emptyexample />
</data>
</template>
我试图只显示一列“数据”,我希望“数据”中的所有元素都显示为为行(带有适当的值 - innerXML)。我不想硬编码/指定行,它们需要自动填充“数据”中的任何内容。 目前它显示一行和多列;我怎么能“翻转”它们?
答案 0 :(得分:0)
我的最终代码(工作):
Public Function FlipDataSet(my_DataSet As DataSet) As DataSet
Dim ds As New DataSet()
For Each dt As DataTable In my_DataSet.Tables
Dim table As New DataTable()
table.Columns.Add(New DataColumn("f"))
table.Columns.Add(New DataColumn("v"))
Dim r As DataRow
For k As Integer = 0 To dt.Columns.Count - 1
r = table.NewRow()
r(0) = dt.Columns(k).ToString()
For j As Integer = 1 To dt.Rows.Count
r(j) = dt.Rows(j - 1)(k)
Next
table.Rows.Add(r)
Next
ds.Tables.Add(table)
Next
Return ds
End Function