我的场景是我将在我的服务器中以 csv 格式上传一些数据,这将有超过 60k 条记录。并且列号可能会更改文件,现在我的问题是我想在列表视图中显示它的内容,并带有分页。而且我不想将整个数据下载到客户端,我希望仅在需要时检索数据。
我如何使用 listview 和 datapager 来做到这一点?我知道 datapager 只支持 linqdatasource 用于服务器端分页?还有其他可能性吗?或对此的建议
提前致谢
我的场景是我将在我的服务器中以 csv 格式上传一些数据,这将有超过 60k 条记录。并且列号可能会更改文件,现在我的问题是我想在列表视图中显示它的内容,并带有分页。而且我不想将整个数据下载到客户端,我希望仅在需要时检索数据。
我如何使用 listview 和 datapager 来做到这一点?我知道 datapager 只支持 linqdatasource 用于服务器端分页?还有其他可能性吗?或对此的建议
提前致谢
如果您将 CSV 导入表格,您会发现它更容易使用,并且比直接处理 CSV 快得多。如何执行此操作的示例在CodeProject上。
然后,您可以使用服务器端分页对这些记录进行分页以提高效率。
更新:如果 CSV 与定义的模式匹配,那么您将不会动态创建表。我会有两张桌子。一个用于存储对文件的引用(uniqueId、文件名/路径、UserId),另一个用于 FileItems(您的架构加上 File.UniqueId 外键)。这样,您可以将文件锁定给正在访问它的用户。锁定和并发问题是另一回事,有很多方法可以解决这个问题。
如果您想直接对 CSV 文件中的 60k 记录执行操作,您会发现它很慢。除非您从 CSV 缓存数据集并针对缓存工作,否则无法解决此问题。对我来说,数据库存储是比缓存更好的媒介。它还为您提供了正在执行的历史记录,此外,如果您在网格中工作时出现任何错误,您可以将数据保存在数据库中,而无需重新上传 CSV 文件。