0

我有一个制表符分隔的文本文件,其中包含 19 列和大约 45000 行。我将此数据导入 sql server 2005 并导出为 csv 文件。在这个表中有一个名为“icon_url”的列,它由许多大小为 100x100px 的 jpeg 链接组成。我需要做的是,我需要将这些数据作为网格视图获取,如下所示。快速加载此数据的最佳方法是什么?csv 格式适合加载数据吗?请详细写。

在此处输入图像描述

4

1 回答 1

2

不,csv 不是一种“好”的格式。不过,这是一种简单的格式。

如果您只想存储几个不会更改的图像 URI,您可以将其存储在一个 txt 文件中(每个 uri 一行)......这个解决方案更简单(并且非常相当于一个 csv 文件,但是“更安全”:没有人会犯错误,例如创建新列或 excel 可能发生的其他事情)。

...或者您想要一些更易于维护的东西,您可以使用嵌入式数据库(如果您希望数据保留在手机上)。你可能会在谷歌上找到一些关于它的教程,比如这个

或者您可以使用XmlSerializer 类加载序列化数据

要回答您的问题,(丑陋的)代码应该可以解决问题(未经测试):

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...
于 2013-11-11T13:30:04.250 回答