C# DataTable 动态添加数据后如何按新增列排序

在使用 C# 处理数据时,我们经常会用到 DataTable 来存储和操作数据。有时,我们需要动态地向 DataTable 中添加数据,并在添加后根据新增的列进行排序。

假设我们有一个 DataTable,其中包含 '周期' 和 '通过率' 两列。现在,我们通过代码动态添加一行数据:csharpdataTable.Rows.Add(period, passRate);

其中,'period' 是一个表示周期的字符串,例如 '10月第2周','passRate' 是一个表示通过率的浮点数。

如果我们想要按照 '周期' 进行倒序排序,之前的代码 dataTable.DefaultView.Sort = '周期 DESC'; 就不再适用了,因为新增的 'period' 列并没有被包含在排序条件中。

为了解决这个问题,我们需要在添加数据后,将排序条件修改为使用 'period' 列:csharp// 按照周期进行倒序排序dataTable.DefaultView.Sort = 'period DESC';dataTable = dataTable.DefaultView.ToTable();

**完整代码示例:**csharp// 假设 dataTable 已经定义并填充了一些数据

// 动态添加数据dataTable.Rows.Add(period, passRate);

// 按照周期进行倒序排序dataTable.DefaultView.Sort = 'period DESC';dataTable = dataTable.DefaultView.ToTable();

// 现在,dataTable 中的数据将按照 'period' 列进行倒序排序,// 周期的显示将根据计算的日期来显示,例如 '10月第2周'、'10月第1周'、'8月第3周' 等。

通过以上代码修改,我们就可以在动态添加数据后,按照新增的 'period' 列对 DataTable 进行排序了。需要注意的是,如果新增的列名不是 'period',则需要将代码中的 'period' 替换为实际的列名。


原文地址: https://www.cveoy.top/t/topic/kKi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录