Pergunta

Preciso construir dois objetos: uma lista de pedidos e um pedido.

Usando esses dois objetos, tenho que preencher um DataGridView com um histórico dos pedidos. No entanto, sou instruído a não usar fontes de ligação para a conexão ou outros controles de arrastar e soltar. Infelizmente, do Google, parece que essas são as opções mais populares para esse tipo de problema.

Alguém pode me apontar na direção certa? Não tenho muita experiência com C#.

Obrigado.

Foi útil?

Solução

Você poderia criar um Order classe:

public class Order
{
    public int OrderID { get; set; }
    public DateTime OrderDate { get; set; }
}

Leia os registros do seu banco de dados e carregue sua coleção de pedidos

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"))
        });
    }
}

Sobre a parte da Gridview, você deve dar uma olhada Visão geral da ligação de dados do ASP.NET

Outras dicas

Este é realmente um problema bastante trivial. Você precisará usar estas coisas:

Depois de ter um DataAdapter e seu conjunto de dados associado, você pode simplesmente fazer um loop para preencher a grade.

Você pode vincular a qualquer coleta de dados que implementa IEnumerable porque quando você chama a função Databind () na grade, ela itera através dos dados e vinculará a grade à propriedade de cada objeto armazenado na coleção refletindo (usando reflexão) a Objeto e procurando uma propriedade que corresponda ao campo de dados especificado para cada campo vinculado na grade.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top