集合到数据表

Collection to DataTable

我正在尝试将 Collection 转换为 DataTable,以便我可以将它绑定到 gridview。 (如果有另一种方法,我愿意接受想法)

这是合集的样子:

public class CustomerCollection 
{
    [JsonProperty("customer")] 
    public IEnumerable<customer> Customer { get; set; } 
}

public class customer  
{ 
    [JsonProperty("customer-name")] 
    public string strCustomerName { get; set; } 
    [JsonProperty("customer-address")] 
    public List<string> lCustomerAddress { get; set; } 
}

最终结果如下所示:

我在尝试将其绑定到 gridview 时遇到的问题。我收到如下错误:

Data source is an invalid type. It must be either an IListSource, IEnumerable, or IDataSource.

当使用 Helper class 尝试将其转换为 DataTable 时,我得到:

The type arguments for method 'CollectionHelper.ConvertTo<T>(System.Collections.Generic.IList<T>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.

您应该将网格视图绑定到 Customer 集合 属性:

gvDisplay.DataSource = customers.Customer;

您的代码不起作用的原因是因为您将它直接绑定到类型为 CustomerCollectioncustomers 变量,而后者(尽管其名称)不是集合根本上,它只是一个带有 Customer 属性.

的简单 .NET class