Renato follows an example of how to fill your Datagridview using classes with inheritance.
Note: I tried to put in a simple way for your understanding.
// Construtor do formulario, onde se inicia o carregamento dos componentes e dados
public Form1()
{
InitializeComponent();
var materiais = GetList();
LoadData(materiais);
}
// obtem uma lista de materiais - nesse caso, apenas 1 material
private List<Material> GetList()
{
var material = new Material
{
Codigo = 1,
DescricaoUnidade = "Descricao da minha unidade",
Descricao = "Descricao",
MarcaMaterial = "Marca do meu material",
UnidadeMedida = "10",
ValorUnitario = 1,
TipoMaterial = new TipoMaterial
{
TipoCodigo = 123,
TipoDescricao = "Alimentação"
}
};
return new List<Material> { material };
}
// Preenche o DataGridView com os valores da lista
private void LoadData(List<Material> materiais )
{
dataGridView.ColumnCount = 8;
dataGridView.Columns[0].Name = "M Codigo";
dataGridView.Columns[1].Name = "M Descricao da Unidade";
dataGridView.Columns[2].Name = "M Descricao";
dataGridView.Columns[3].Name = "M Marca do Material";
dataGridView.Columns[4].Name = "M Unidade de Medida";
dataGridView.Columns[5].Name = "M Valor Unitario";
dataGridView.Columns[6].Name = "T Codigo";
dataGridView.Columns[7].Name = "T Descricao";
foreach (var material in materiais)
{
object[] row = {
material.Codigo,
material.DescricaoUnidade,
material.Descricao,
material.MarcaMaterial,
material.UnidadeMedida,
material.ValorUnitario,
material.TipoMaterial.TipoDescricao,
material.TipoMaterial.TipoCodigo,
};
dataGridView.Rows.Add(row);
}
}
Follow link with example of the application: http://www.4shared.com/rar/vnddNuV6ce/stackoverflow46628.html
Abs,
Hello Renato. Welcome to Stack Overflow in Portuguese. For your question to get better it would be important to put the code snippet where you are creating the class instance and trying to access (to show) these two properties.
– Luiz Vieira
It has nothing to do with the question but allow me a suggestion: do not prefix the property names with a class abbreviation,
tiposMateriais.Codigo
gets better thantiposMateriais.tipoCodigo
– ramaral