我有一个数据集(数据集ds),在下面你可以找到数据集内的演示数据字段。在我的数据集中,他们是日期名称列(数据类型-日期时间),我想排序此列。我不能从SQL排序,因为数据集是2个不同的数据集合并。请帮助我如何在数据集中排序。
Date Volume 07/19/201211:30AM 12 07/18/201201:30PM 13 07/17/201203:30PM 22
db2dz4w81#
这是一个简单的Linq-To-DataSet方法:
Linq-To-DataSet
IEnumerable<DataRow> orderedRows = dataSet.Tables[0].AsEnumerable() .OrderBy(r => r.Field<DateTime>("Date"));
现在你可以把它作为DataSource使用,或者在foreach中枚举它,如果你需要具体化它,你可能需要从它创建一个新的DataTable:
DataSource
foreach
DataTable
DataTable tblOrdered = orderedRows.CopyToDataTable();
jaxagkaj2#
您可以从data-set查看create a data。然后可以使用DataView.Sort Property对数据进行排序。例如
data-set
DataView myDataView = DT.DefaultView; myDataView.Sort = "Date DESC";
了解更多关于Introduction to Filtering and Sorting in Datasets的信息
eoxn13cs3#
使用数据视图你可以排序你的数据表。只要把你的数据表放在数据视图中看看下面的例子:您有一个dtlog表,它有两列,一列是日期,另一列是详细信息。您想按日期列对数据表进行排序。
DataTable dtlog = new DataTable(); dtlog.Columns.Add("date"); dtlog.Columns.Add("details");
1.创建数据视图并将数据表放入视图中
DataView dtview = new DataView(dtlog); string sortstring = "date DESC"; // sorting in descending manner dtview.Sort = sortstring;
2.创建另一个表以保存排序后的数据视图
DataTable dtsort =dtview.ToTable();
u1ehiz5o4#
可以通过DataView执行此操作。如果保存日期时间的列是日期时间列
DataView dv = DataTable.DefaultView; dv.Sort = "DateTime-ColumnName ASC";
它不适用于将日期时间保存为字符串的字符串列。
gopyfrb35#
DataTable的DataView具有排序属性,请将列名传递给它例如
dataSet1.Table[0].DefautlView.Sort = "ColumnName";
默认排序是按升序有关详细信息,请参阅链接http://msdn.microsoft.com/en-us/library/system.data.dataview.sort(v=vs.100).aspx
vmpqdwk36#
我发现我的解决方案是在Datatable中添加更多列,这样我们就可以保存DateTime的每个部分:
DateTime
Tabla.Columns.Add("year", typeof(DateTime)); Tabla.Columns.Add("month", typeof(DateTime)); Tabla.Columns.Add("day", typeof(DateTime));
那么我们可以使用DataView:
DataView
DataView myDataView = DT.DefaultView; case 1: ASC myDataView.Sort = "year asc, month asc, day asc"; case 2: DESC myDataView.Sort = "year desc, month desc, day desc"; Tabla = myDataViwe.toTable();
result是按dateTime排序的数据表
yvgpqqbh7#
这对我很有效:
dataTableEmpSurvey.DefaultView.Sort = "SNO"; var dataTableSorted = dataTableEmpSurvey.DefaultView.ToTable();
https://www.codeproject.com/Questions/219205/How-To-Sort-Datatable-in-csharp-net
7条答案
按热度按时间db2dz4w81#
这是一个简单的
Linq-To-DataSet
方法:现在你可以把它作为
DataSource
使用,或者在foreach
中枚举它,如果你需要具体化它,你可能需要从它创建一个新的DataTable
:jaxagkaj2#
您可以从
data-set
查看create a data。然后可以使用DataView.Sort Property对数据进行排序。
例如
了解更多关于Introduction to Filtering and Sorting in Datasets的信息
eoxn13cs3#
使用数据视图你可以排序你的数据表。只要把你的数据表放在数据视图中看看下面的例子:
您有一个dtlog表,它有两列,一列是日期,另一列是详细信息。您想按日期列对数据表进行排序。
1.创建数据视图并将数据表放入视图中
2.创建另一个表以保存排序后的数据视图
u1ehiz5o4#
可以通过DataView执行此操作。如果保存日期时间的列是日期时间列
它不适用于将日期时间保存为字符串的字符串列。
gopyfrb35#
DataTable的DataView具有排序属性,请将列名传递给它
例如
默认排序是按升序
有关详细信息,请参阅链接http://msdn.microsoft.com/en-us/library/system.data.dataview.sort(v=vs.100).aspx
vmpqdwk36#
我发现我的解决方案是在Datatable中添加更多列,这样我们就可以保存
DateTime
的每个部分:那么我们可以使用
DataView
:result是按dateTime排序的数据表
yvgpqqbh7#
这对我很有效:
https://www.codeproject.com/Questions/219205/How-To-Sort-Datatable-in-csharp-net