如何将类属性中的数据添加到数据表中

时间:2017-10-30 03:50:11

标签: c# .net datagridview datatable

我目前有一个包含4个属性的类

public class DataEntry
{
    public string Name { get; internal set; }
    public string Version { get; internal set; }
    public string TotalDownloads { get; internal set; }
    public string LastUpdated { get; internal set; }
}

我形成一个ConcurrentQueue对象(使用以前的类属性)

var list = new ConcurrentQueue<DataEntry>();

foreach (var i in Enumerable.Range(0, 2))
{
    list.Enqueue(new DataEntry { Name = "TestName", Version = "Test Version", TotalDownloads = "TestDownloads", LastUpdated = "LestDate" });
}

然后我将此ConcurrentQueue作为列表返回

return list.ToList();

我正在尝试使用此数据填充windows表格datagridview。

我知道可以像这样填充datagridview

DataGrid.DataSource = Class.Function();

但是我想使用数据表作为datagridviews数据源。

尝试将此数据放入我尝试过的数据表中

private DataTable dataTable = new DataTable("dataTable");

private async void Form1_Load(object sender, EventArgs e)
{
    dataTable.Columns.Add("Name", typeof(string));
    dataTable.Columns.Add("Downloads", typeof(string));
    dataTable.Columns.Add("Updated", typeof(string));
    dataTable.Columns.Add("Version", typeof(string));

    foreach (var item in await Class.Function())
    {
        dataTable.Rows.Add(item);
    }

    dataGrid.DataSource = dataTable;

}

然而,这只是将所有数据放入第一列(以及字符串前面的类名DataEntry)

如何将数据格式化为数据表?

1 个答案:

答案 0 :(得分:0)

使用@ o_O&#39的建议我设法修改for循环以完全按照我想要的方式进行操作

OnclickTest.html:13 0
OnclickTest.html:13 1
OnclickTest.html:13 2
OnclickTest.html:23 0
OnclickTest.html:23 1
OnclickTest.html:23 2
OnclickTest.html:13 3
OnclickTest.html:23 3
OnclickTest.html:13 3
OnclickTest.html:23 3
OnclickTest.html:13 3
OnclickTest.html:23 3