1

我需要构建两个对象:一个 OrderList 和一个 Order。

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

谁能指出我正确的方向?我对 C# 没有太多经验。

谢谢。

4

3 回答 3

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 数据绑定概述

于 2010-01-07T18:59:33.673 回答
0

这实际上是一个相当琐碎的问题。您将需要使用这些东西:

一旦有了数据适配器及其关联的数据集,您就可以简单地循环填充网格。

于 2010-01-07T19:03:14.837 回答
0

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

于 2010-01-07T19:03:28.927 回答