2010-01-07 91 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相匹配的屬性。