Fórum Pupular GridView #408004
26/09/2011
0
Cliente
public class Cliente
{
private int _codSegurado;
public int CodSegurado
{
get { return _codSegurado; }
set { _codSegurado = value; }
}
private string _nome;
public string Nome
{
get { return _nome; }
set { _nome = value; }
}
}
ClienteContato
public class ClienteContato
{
private Cliente _cliente;
public Cliente Cliente
{
get { return _cliente; }
set { _cliente = value; }
}
private int _codSequencia;
public int CodSequencia
{
get { return _codSequencia; }
set { _codSequencia = value; }
}
private string _nome;
public string Nome
{
get { return _nome; }
set { _nome = value; }
}
private string _email;
public string Email
{
get { return _email; }
set { _email = value; }
}
private string _fone;
public string Fone
{
get { return _fone; }
set { _fone = value; }
}
}
Baseando na Estrutura das classes não estou conseguindo popular em um GridView a classe ClienteContato trazendo a coluna CódSegurado do Cliente. Como posso fazer isso ?
Gebram Seguros
Curtir tópico
+ 0Posts
26/09/2011
Gebram Seguros
<asp:BoundField DataField=Cliente.CodSegurado/>
para trazer os dados, mas ocorre o seguinte erro:
Não foi encontrado campo ou propriedade com o nome Cliente.CodSegurado na fonte de dados selecionada.
Gostei + 0
27/09/2011
Bruno Costa
O que eu fiz para solucionar foi colocar no grid os dados da classe principal e criar um botão no grid que ao clicar exibi todos os dados na tela, pode ser nos textbox mesmo.
Ex:
Tenho a classe Cliente, TelefoneCliente, e EnderecoCliente.
Na classe Cliente tenho dudas propriedades uma do tipo TelefoneCliente e outra EnderecoCliente.
Faço um select no banco que retorna o dados da Tabela Cliente inner join TelefoneCliente inner join EnderecoCliente.
Monto o objeto Cliente com os dados de Telefone e Endereco
No grid eu só mostro os dados da Classe Cliente e ao clicar em um botão do tipo template field no mesmo grid exibi nos textbox os dados do Cliente, telefone e endereço.
Gostei + 0
03/12/2011
Rodrigo Odasaki
Assim você vai realizar uma junção entre elas, podendo exibir colunas tanto de uma classe quanto de outra.
Gostei + 0
03/12/2011
Rodrigo Odasaki
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<Cliente> clientes = new List<Cliente>()
{
new Cliente { CodSegurado = 1, Nome = João Oliveira },
new Cliente { CodSegurado = 2, Nome = Daniela Santos },
new Cliente { CodSegurado = 3, Nome = Juliana Amorin }
};
IEnumerable<ClienteContato> clienteContatos = new List<ClienteContato>()
{
new ClienteContato { CodCliente = 1, Email = joao.oliveira@internet.com, Fone = 11111111 },
new ClienteContato { CodCliente = 2, Email = dani.santos@internet.com, Fone = 22222222 },
new ClienteContato { CodCliente = 3, Email = juliana.amorin@internet.com, Fone = 33333333 }
};
var dados = from c in clientes
join p in clienteContatos on c.CodSegurado equals p.CodCliente
select new { c.CodSegurado, c.Nome, p.Email, p.Fone };
GridView1.DataSource = dados;
GridView1.DataBind();
}
public class Cliente
{
public int CodSegurado { get; set; }
public string Nome { get; set; }
}
public class ClienteContato
{
public int CodCliente { get; set; }
public string Email { get; set; }
public string Fone { get; set; }
}
}
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)