2

我试图弄清楚如何创建一个对象数据源,我可以在其中选择要在 Visual Studio 中显示的列等等。这是我到目前为止所拥有的,但我不确定我还应该做什么?

public class ItemData
{
    public string ItemName { get; set; }
    public string Description { get; set; }
    public string Quantity { get; set; }
    public string ManuPartNumber { get; set; }
    public string ListID { get; set; }
    public string VendorRef { get; set; }
    public string VendorName { get; set; }
    public string EditSequence { get; set; }
    public string UPC { get; set; }
}
public class ItemDataSource : IEnumerable<ItemData>
{
    private ICollection<ItemData> list;
    public ItemDataSource()
    {
        try
        {
            list = QBCom.GetItemList();
        }
        catch (Exception e)
        {
            list = new List<ItemData>();
        }
    }
    public ItemDataSource(IEnumerable<ItemData> data)
    {
        list = data.ToList();
    }
    public IEnumerator<ItemData> GetEnumerator()
    {
        foreach (var item in list)
        {
            yield return item;
        }
    }
    System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
    {
        return ((IEnumerable<ItemData>)this).GetEnumerator();
    }
}

我不是在谈论 ASP.net,而是在谈论诸如 DataTables 之类的东西。只是一个普通的winforms程序。

4

1 回答 1

1

我假设您想绑定到 DataGridView,如果这样我将从 BindingSource 继承并将列表设置为 DataSource。然后,您可以将 datagridview DataSource 设置为对象以查看 Visual Studio 属性窗口中的列。

public class ItemDataSource : BindingSource
{
    private ICollection<ItemData> list;
    public ItemDataSource()
    {
        try
        {
            list = QBCom.GetItemList();
        }
        catch (Exception e)
        {
            list = new List<ItemData>();
        }
        this.DataSource = list;
    }
    public ItemDataSource(IEnumerable<ItemData> data)
    {
        list = data.ToList();
        this.DataSource = list;
    }
}
于 2013-08-20T21:19:02.113 回答