【问题标题】:How to convert an Array to a Bindinglist?如何将数组转换为绑定列表?
【发布时间】:2014-09-04 07:23:17
【问题描述】:
  • 您能解释一下为什么这两个不同的输出会出现这种情况吗?

  • 在描述中我翻译了代码以便更好地理解问题

  • 如何转换 IBindingList 中的数组?因为不可能对我的 DataGridView 进行排序

代码:

public class ProductDALC
{
    public List<Product> ListProducts() //Product is the table name of my Database named DotNetStore
    {
        DotNetDataContext DataModel = new DotNetDataContext();
        var query = from objProduct in DataModel.Product.AsEnumerable()
                  select new Product { idProduct = objProducto.CodProduct, Name = objProduct.Name };

        return query.ToList();    
    }

    public Array ArrayProducts()
    {
        DotNetDataContext DataModel = new DotNetDataContext();
        var query = from objProduct in DataModel.Product.AsEnumerable()
                    select new
                    {     
                        idProduct = ("0000" + Convert.ToString(objProduct.idProduct)).Substring(("0000" + Convert.ToString(objProduct.idProduct)).Length - 4, 4),
                        Nombre = objProduct.Name,
                        Cantidad = objProduct.Quantity

                    };

        return query.ToArray();
    }
}

【问题讨论】:

    标签: winforms linq entity-framework datagridview linq-to-entities


    【解决方案1】:

    你试试这个:http://msdn.microsoft.com/en-us/library/ms132681.aspx

    public BindingList<Product> ArrayProducts()
    {
        DotNetDataContext DataModel = new DotNetDataContext();
        var query = from objProduct in DataModel.Product.AsEnumerable()
                    select new Product
                    {     
                        idProduct = ("0000" + Convert.ToString(objProduct.idProduct)).Substring(("0000" + Convert.ToString(objProduct.idProduct)).Length - 4, 4),
                        Nombre = objProduct.Name,
                        Cantidad = objProduct.Quantity 
                    };
    
        return new BindingList<Customer>(query.ToList());
    }
    

    【讨论】:

    • 非常感谢您的回复。这适用于第一个函数(ListProducts),但不适用于第二个函数(ArrayProducts)。我不能做 "BindingList(query.ToList())" 。你认为是因为函数返回一个数组还是因为字段“idProduct”的数据类型是整数?
    • @KevinPerez 如果您使用select new Product 进行第二个功能,它应该可以工作
    • 再次感谢您!这行得通。但这不是 Array to Binging 列表。但是,您的所有建议都帮助我找到了解决问题的其他方法。问候..
    猜你喜欢
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 2020-01-24
    • 2015-05-15
    • 2020-09-18
    • 2022-06-25
    相关资源
    最近更新 更多