我有一个制表符分隔的文本文件,其中包含19列和大约45000行。我将此数据导入sql server 2005并导出到csv文件中。在此表中有一个名为“icon_url”的列,其中包含许多大小为100x100px的jpeg链接。我需要做的是,我需要将此数据作为网格视图显示如下。快速加载此数据的最佳方法是什么? csv格式是否适合加载数据?请详细说明。
答案 0 :(得分:2)
不,csv不是一个“好”的格式。不过,这是一种简单的格式。
如果你只想存储一些不会改变的图像URI,你可以将它存储在一个txt文件中(每个uri一行)......这个解决方案更简单(和csv文件相当) ,但“更安全”:没有人会像创建一个新列或其他可能与excel一样的错误做错误。
...或者你想要一些更易于维护的东西,你可以使用一个嵌入式数据库(如果你想让数据在你的手机上休息)。您可以在Google like this one
上找到有关它的一些教程或者您可以使用XmlSerializer class
加载序列化数据要回答你的问题,那个(丑陋的)代码应该可以解决问题(未经测试):
<强>的Xaml 强>
<ItemsControl x:Name="items">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="4"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image Height="{Binding ActualWidth,RelativeSource={RelativeSource Self}}" Source="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ItemsControl>
<强> CS 强>
items.ItemsSource = File.ReadAllLines("yourCsvFile.csv").Select(s=>s.Trim(';')).Skip(1); // skip the header...