Display class relationship in DataGridView?

1

I'm trying to display a class relationship in the DataGridView but I'm not getting it. I have 3 classes Produto and Unidade and ItemVenda , the Unidade class refers to the product unit if it is KG / LT / UN etc ... In DataGridView I want to display the Sales Item that is the Product and its Drive however, I can only display the Product and when I try to display the Drive does not work. When I display the query result on a foreach the drive is displayed but I can not display it in the DataGridView.

How to do this?

I'm trying like this.

Classes

public class Unidade{
   public Integer id {set;get;}
   public String descricao {set;get;};

   public Unidade(){}
}

public class Produto{
    public Long id {set;get;};
    public String descricao {set;get;};
    public Unidade unidade {set;get;}

    public Produto(){}
}

public class ItemVenda{
    public Long id {set;get;}
    public Produto produto {set;get;}

    public ItemVenda(){}
}

Displaying in DataGridView

private void defineGrid(){
   gridItensVenda.AutoGenerateColumns = false;
   IList<ItemVenda> lista = new ItemVendaDAO().findItensByVenda(venda);
   gridItensVenda.DataSource = lista;

   //exibe o produto
   DataGridViewColumn c1 = new DataGridViewTextBoxColumn();
   c1.DataPropertyName = "produto";
   c1.HeaderText = "Produto";

   //exibe a unidade do produto
   DataGridViewColumn c2 = new DataGridViewTextBoxColumn();
   c2.DataPropertyName = "ItemVenda.produto.unidade";
   c2.HeaderText = "Unidade";

   //adiciona columns ao grid
   gridItensVenda.Columns.Add(c1);
   gridItensVenda.Columns.Add(c2);   

}
    
asked by anonymous 10.04.2016 / 15:31

0 answers