2010-01-07 90 views
1

我需要构建两个对象:OrderList和Order。为Northwind Access数据库订购对象

使用这两个对象,我必须用订单的历史记录填充DataGridView。但是,我被指示不要使用绑定源进行连接或其他拖放控件。不幸的是,从谷歌来看,这似乎是这类问题最受欢迎的选择。

任何人都可以指向正确的方向吗?我没有太多的C#经验。

谢谢。

+1

检查课本? – Hogan 2010-01-07 18:52:18

+0

打我吧... – atfergs 2010-01-07 18:54:40

+0

没有教科书。 – volni 2010-01-07 18:56:55

回答

6

,你可以创建一个Order类:

public class Order 
{ 
    public int OrderID { get; set; } 
    public DateTime OrderDate { get; set; } 
} 

读取数据库记录并加载您的订单采集

List<Order> orders = new List<Order>(); 
using(SqlConnection cn = new SqlConnection("...")) 
using (SqlCommand cm = cn.CreateCommand()) 
{ 
    cn.Open(); 
    cm.CommandText = "SELECT OrderId, OrderDate FROM Orders"; 
    SqlDataReader dr = cm.ExecuteReader(); 
    while (dr.Read()) 
    { 
     orders.Add(new Order() 
     { 
      OrderId = dr.GetInt32(dr.GetOrdinal("OrderId")), 
      OrderDate = dr.GetDateTime(dr.GetOrdinal("OrderDate")) 
     }); 
    } 
} 

关于GridView的一部分,你应该看看到ASP.NET data binding overview

+0

良好的代码示例,谢谢你不是一个混蛋,并帮助这个家伙。 +1 – Achilles 2010-01-07 19:04:06

+0

谢谢鲁本斯!这非常有帮助! – volni 2010-01-07 19:08:15

+0

很高兴听到这个,杰克!祝你好运! – 2010-01-07 19:10:02

0

这实际上是一个相当微不足道的问题。你需要使用这些东西:

一旦你有一个DataAdapter及其关联的数据集,你可以简单地循环,以填补电网。

0

您可以绑定到实现IEnumerable的任何数据集合,因为当您在网格上调用DataBind()函数时,它将遍历数据并将网格绑定到存储在集合中的每个对象的属性,方法是反射使用反射)对象并查找与为网格中的每个绑定字段指定的DataField相匹配的属性。