如何反转DataRow类型的List?解决类型不匹配报错
解决List反转时的类型不匹配问题
出现该错误的核心原因:调用List<DataRow>的reversed方法后,返回的是ReversedListIterable<DataRow>类型的迭代器,而非List<DataRow>,但DataTable的rows参数要求传入List类型,因此触发类型不匹配。
可以通过以下方式解决:
将反转后的迭代器转换为List:
// 方式1:用toList()直接转换 List<DataRow> reversedRows = originalRows.reversed.toList(); // 方式2:通过List.from构造列表 List<DataRow> reversedRows = List.from(originalRows.reversed);直接在DataTable中使用转换后的列表:
DataTable( columns: yourColumnList, rows: originalRows.reversed.toList(), )
如果不需要可变列表,可使用toList(growable: false)创建不可变列表,性能更优:
List<DataRow> reversedRows = originalRows.reversed.toList(growable: false);
内容的提问来源于stack exchange,提问作者rozerro
相关产品推荐
相关产品推荐

