Criando um datatable customizado herdando a classe System.Data.DataTable
Nesse artigo vou demonstrar para vocês como é simples criar uma classe herdando de outra.
Criando um datatable customizado herdando a classe System.Data.DataTable
Ola pessoal,
Nesse artigo vou demonstrar para vocês como é simples criar uma classe herdando de outra.
Utilizaremos dois conceitos de orientação a objetos.
1 - Herança
2 - Sobrecarga
A idéia e criar um método PegaValor(string nome), para evitarmos de utilizar índices quando queremos retornar somente um registro de um DataTable.
Criando a classe DataTableLC
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace br.com.devmedia.DataTableLC
{
public class DatatableLC : DataTable /*herdamos a classe DataTable*/
{
public string PegaValor(string nomecampo)
{
return this.Rows[0][nomecampo].ToString();
}
public string PegaValor(int indice, string nomecampo)/*Sobrecarregamos o PegaValor*/
{
return this.Rows[indice][nomecampo].ToString();
}
}
}
Observe que criamos o método PegaValor(string nome) recebendo como parâmetro o nome do campo, e outro método PegaValor(int indice, string nome).
No DataTable normal para pegarmos o campo que desejamos, podemos fazer da seguinte maneira:
DataTable dt = new DataTable();
Supunhamos que eu tenha um metodo que me retorne um DataTable com os dados do cliente que o codigo e igual a 966.
dt = br.devmedia.ClienteDAO.getCliente(966);
Pegamos o nome do cliente retornado
Forma 1
LblNome.text = dt.Rows[0]["NomeCliente"].ToString();
Forma 2
LblNome.text = dt.Rows[0][0].ToString();
*Estou mostrando as 2 formas mais utilizadas.
Utilizando a classe DataTableLC que criamos podemos fazer da seguinte forma:
DataTable dt = new DataTable();
dt =(DatatableLC)br.devmedia.ClienteDAO.getCliente(966);
Como o nossa classe que retorna os dados do cliente retorna um Datatable fazemos o cast para o DataTableLC.
Pegamos o nome do cliente passando o nome do campo.
LblNome.text = dt.PegaValor("NomeCliente").ToString();
LblNome.text = dt.PegaValor(0," NomeCliente ").ToString();
Nesse exemplo vimos que podemos herdar uma classe e programar novos métodos para agilizar o nosso trabalho.
Bem pessoal, por hoje ficaremos aqui.
Espero que tenham gostado.
Um grande abraço.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo