【问题标题】:Order objects for Northwind Access databaseNorthwind Access 数据库的订单对象
【发布时间】:2010-01-07 18:45:22
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

  • StackOverFlow 也是教科书...
  • 这就是我在这里问这个问题的原因;)。我先搜索但找不到太多初学者信息。不过,答案都很棒。谢谢大家。

标签: c# datagridview northwind


【解决方案1】:

您可以创建一个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

【讨论】:

  • 很好的代码示例,感谢您不做一个混蛋并帮助这个家伙。 +1
  • 感谢鲁本斯!这非常有帮助!
  • 很高兴听到这个消息,杰克!祝你好运!
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 2017-10-23
      • 1970-01-01
      • 2012-06-23
      • 1970-01-01
      相关资源
      最近更新 更多