如何转换列表<;列表<;字符串>>;到DataTable

本文关键字:lt gt 列表 何转换 DataTable 字符串 转换 | 更新日期: 2023-09-27 17:59:02

如何将List<List<string>>转换为DataTable?我正在尝试将网格视图的DataSource设置为List<List<string>>变量。

如何转换列表<;列表<;字符串>>;到DataTable

这可以使用扩展方法轻松完成。

将此类添加到您的解决方案

static class ListExtensions
{
    public static DataTable ToDataTable(this List<List<string>> list)
    {
        DataTable tmp = new DataTable();
        foreach (List<string> row in list)
        {
            tmp.Rows.Add(row.ToArray());
        }
        return tmp;
    }
}

然后使用这样的扩展方法:

List<List<string>> myList = new List<List<string>>();
// Fill with values...
DataTable table = myList.ToDataTable();

我宁愿将网格的DataSource设置为BindableList,这可能会更容易创建,而不是双重嵌套的List,而是行列表(其中行是表示的业务实体,例如Customer)。

public static DataTable ToDataTable(this List<List<string>> list)
{
    DataTable dt = new DataTable();
    list.First().ForEach(colname => dt.Columns.Add(colname));
    foreach (List<string> row in list.Skip(1))
        dt.Rows.Add(row.ToArray());
    return dt;
}