Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对报表中的CSV数据进行排序_C#_Csv_Listlabel - Fatal编程技术网

C# 对报表中的CSV数据进行排序

C# 对报表中的CSV数据进行排序,c#,csv,listlabel,C#,Csv,Listlabel,我正在尝试打印带有列表和标签的CSV文件。我需要按其中一列对其进行排序,但是sort属性不可用。如果我使用SQL数据源,我可以对它进行排序。如何对CSV数据进行排序?我的消息来源是 CsvDataProvider csvDta = new CsvDataProvider(@"C:\temp\myData.csv", true, "Data", ';'); using (ListLabel LL = new ListLabel() { DataSource = csvDta}) { LL.

我正在尝试打印带有列表和标签的CSV文件。我需要按其中一列对其进行排序,但是sort属性不可用。如果我使用SQL数据源,我可以对它进行排序。如何对CSV数据进行排序?我的消息来源是

CsvDataProvider csvDta = new CsvDataProvider(@"C:\temp\myData.csv", true, "Data", ';');

using (ListLabel LL = new ListLabel() { DataSource = csvDta})
{
   LL.Design();
}

一种简单的方法是将CSV数据包装在InMemoryDataProvider中。试试这个:

using combit.ListLabel23;
using combit.ListLabel23.DataProviders;

CsvDataProvider csvDta = new CsvDataProvider(@"C:\temp\myData.csv", true, "Data", ';');

// wrap the table in a queryable data source
InMemoryDataProvider dataSource = new InMemoryDataProvider();
dataSource.AddTable(csvDta, "Data");

using (ListLabel LL = new ListLabel() { DataSource = dataSource})
{
   LL.Design();
}

这将为您提供所需的排序和筛选功能。

什么是ListLabel?CsvDataProvider?这是nuget软件包里的吗?您需要定义一个类来表示数据行,并将csv的输出放入该类的集合中。然后您就可以访问linq扩展方法了。我编辑了这个问题以包含合适的名称空间。它是List&Label(一个报告包,请参阅标记listlabel的标记说明)附带的类之一。我的编辑被拒绝:(-不知道为什么。因此,我将在下面的答案中添加名称空间。