我正在制作一个小脚本,它将从服务器上的预定义文件夹中获取所有文件,列出它们,按名称排序,使用寻呼机以及通过[A]分组它们的方式,[ B]等导航。
我的问题是遍历所有文件并将它们放在Array / List / Directonary(?)中,然后创建Gridview / Datagrid / Listview(?)来显示文件,并处理默认的分页。
根据以上内容寻找实现此目标的最佳方式的输入 - 非常感谢任何输入和/或片段/示例。
答案 0 :(得分:1)
如果您想要更灵活,可以使用LINQ轻松完成。
var pageSize = 25;
var pageNum = 1;
var currentPage = Directory.GetFiles("dir_path").Skip((pageNum - 1) * pageSize).Take(pageSize);
// Do something with the results.
每个下一个/上一个的de / Increment pageNum(只需要考虑0&最大页数)。
您还可以加入其他linq操作,例如orderby
,where
,select
,groupby
,join
等。
来自您的评论:
在上面的示例中,您可以调用currentPage上的方法,例如.ToArray()
/ .ToList()
/ .ToDictionary()
,以便将数据组合到最适合您需求的集合中。
使用System.Windows.Forms.ListView:
的示例订购商品,将它们转换为ListViewItem数组,然后在列表视图的商品集合中使用AddRange()将它们添加到其中。
var myListView = new ListView();
var allItems = currentPage.OrderBy(c => c).Select(c => new ListViewItem(c)).ToArray();
myListView.Items.AddRange(allItems);