Объекты заказа для базы данных Northwind Access - PullRequest
1 голос
/ 07 января 2010

Мне нужно построить два объекта: OrderList и Order.

Используя эти два объекта, я должен заполнить DataGridView историей заказов. Однако я получил указание не использовать источники привязки для подключения или других элементов управления перетаскиванием. К сожалению, из Google кажется, что это самые популярные варианты для этого типа проблемы.

Кто-нибудь может указать мне правильное направление? У меня нет большого опыта работы с C #.

Спасибо.

Ответы [ 3 ]

6 голосов
/ 07 января 2010

Вы можете создать 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

0 голосов
/ 07 января 2010

Вы можете связать любую коллекцию данных, которая реализует IEnumerable, потому что когда вы вызываете функцию DataBind () в сетке, она будет перебирать данные и связывать сетку со свойством каждого объекта, сохраненного в коллекции, отражая отражение) объекта и ищет свойство, соответствующее DataField, указанному для каждого связанного поля в сетке.

0 голосов
/ 07 января 2010

Это на самом деле довольно тривиальная проблема. Вам нужно будет использовать эти вещи:

Если у вас есть адаптер данных и связанный с ним набор данных, вы можете просто выполнить цикл, чтобы заполнить сетку.

...