0
  • 你能解释一下为什么会出现这两种不同的输出?

Click here to see the image如何将数组转换为绑定列表?

  • 在我翻译的代码,以便更好地理解这个问题

  • 描述我如何转换的IBindingList的数组?因为是IMPOSIBLE排序我的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(); 
    } 
} 

回答

0

你试试这个: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()); 
} 
+0

非常感谢你的答复。这适用于第一个函数(ListProducts),但不适用于第二个函数(ArrayProducts)。我不能做“BindingList (query.ToList())”。 你认为这是因为该函数返回一个数组,或者可能是因为字段“idProduct”的数据类型是一个整数? – 2014-09-04 17:50:10

+0

@KevinPerez如果您使用'选择新产品'作为第二个功能 – 2014-09-05 05:32:08

+0

它应该工作再次谢谢!这工作。但这不是Binging列表的数组。但是,您的所有建议都帮助我找到了解决问题的其他方法。问候.. – 2014-09-06 04:14:19