Pupular GridView
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
Posts
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.
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.
03/12/2011
Rodrigo Odasaki
Assim você vai realizar uma junção entre elas, podendo exibir colunas tanto de uma classe quanto de outra.
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; } } }
Clique aqui para fazer login e interagir na Comunidade :)