开发者

How to convert List<List<string>> to a DataTable

How would I convert List<List<stri开发者_C百科ng>> to a DataTable? I am trying to set the DataSource of a gridview to a List<List<string>> variable.


This can easily be done using extension methods.

Add this class to your solution

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;
    }
}

then use the extension method like this:

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


I would rather set DataSource of the grid to BindableList, which you would perhaps create easier, instead of double nested List, you would have List of Rows (where the Row is business entity represented, for example 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;
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜