我正在尝试在 Ultragrid 中显示 xml 数据。我尝试使用 Ultragrid.loadfromxml 并使用文件的位置,并且我还使用了文件输入流并将其放入加载 xml 方法中。有什么帮助吗?
3 回答
为此,您可以使用类似这样的内容加载 XML 文件
Dim dt as DataTable = new DataTable("myData")
dt.ReadXml("path_to_your_file")
ultraGrid1.DataSource = dt
UltraGrid 可以绑定到任何实现 IList 的东西,因此您需要将数据加载到某种列表中。如果您需要网格在初始加载数据后响应对集合的更改,那么您可能需要使用 IBindingList。在线帮助中有更多关于 DataSource 可以设置的详细信息: http ://help.infragistics.com/NetAdvantage/WinForms/Current/CLR2.0/?page=Infragistics2.Win.UltraWinGrid.v12.1~ Infragistics.Win.UltraWinGrid.UltraGridBase~DataSource.html
如果您的 XML 是可以读入 DataTable 的格式,那么最简单的解决方案是在调用 ReadXml 将数据加载到 DataTable 之后将 UltraGrid 绑定到 DataTable。
如果您不能使用 DataTable,那么您可以使用LINQ to XML来获取数据并将其转换为 UltraGrid 可以绑定的内容。
引用 Infragistics Ultragrid Ninja,Mike Saltzman 本人的话:
网格需要某种实现 IList 或 IBindingList 的数据源。因此,您必须将 XML 加载到其中一种类型的对象中。
因此,您需要将 XML 加载到实现这些接口之一的集合类型中,然后将其设置为网格上的数据源。查看这个问题,了解如何从文件中加载 XML。然后就这么简单...
UltraGrid1.DataSource = myAwesomeBindingListMadeFromXML
UltraGrid.DisplayLayout 上的LoadFromXML方法用于加载先前保存的布局(即显示设置),而不是网格本身中的数据。