Вопрос

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

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

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

Спасибо.

Это было полезно?

Решение

Вы могли бы создать 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 обзор привязки данных

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top