Formatando colunas do gridView

16/05/2012

0

Olá galera
Estou começando a entender o sentido de orientação.
Pelo pouco que já aprendi não ha mais para voltar a maneira procedural.
Minhas duvida é: Tenha uma classe que retorna o comando sql em um objeto do tipo conforme exemplo abaixo.

public DataTable Selecionar(string sql)
{
SqlConnection conexao = new SqlConnection(_Conexao);
SqlCommand comando = conexao.CreateCommand();
comando.CommandText = sql;
SqlDataAdapter adaptador = new SqlDataAdapter(comando);
DataTable tabela = new DataTable();
conexao.Open();
adaptador.Fill(tabela);
conexao.Close();
return tabela;
}

Em qualquer webform do projeto basta instanciar a classe e passar o comando sql por paramento
modelo m = new modelo();
GridView1.DataSource = m.Selecionar(select * from Tb_Cliente order by id_regiao desc );
GridView1.DataBind();

Ate aqui tudo bem o problema é que la nessa tabela cliente os campos estão com nomecaturas diferentes tipo Id_Cliente ,Nm_Cliente ,Ds_Observação e é exatamente assim que mostra no gridfview
Como faço para trazer esses campos formatados ao contrario de Nm_Cliente trazer cliente ao invés de Ds_Obserção trazer Observação

Desde já agradeço a todos
Carlos Faria

Carlos Faria

Responder

Posts

17/05/2012

Joel Rodrigues

Rapaz, duas formas básicas:
1) Após popular o gridview, você faz um loop para ler todas as colunas e alterar o caption.
2) No select, você já nomeia as colunas de forma mais adequada, por exemplo: SELECT cliNOME Nome, CliTelCelular Celular FROM TbCLIENTES.

Acho a segunda mais viável.
Responder

17/05/2012

Joel Rodrigues

Rapaz, duas formas básicas:
1) Após popular o gridview, você faz um loop para ler todas as colunas e alterar o caption.
2) No select, você já nomeia as colunas de forma mais adequada, por exemplo: SELECT cliNOME Nome, CliTelCelular Celular FROM TbCLIENTES.

Acho a segunda mais viável.
Responder

17/05/2012

Carlos Faria

Resolvido
Obrigado amigo
Responder

17/05/2012

Joel Rodrigues

Que bom que você conseguiu resolver. Como você fez?
Responder

17/05/2012

Carlos Faria

Fiz o select como voce explicou e deu certo mas se a tabela e grande da muito trabalho fazer dessa maneira.Encontrei um outra alternativa que foi editar diretamente no souce do gridview basta editar a propriedade datafiel e setar o autogeneratecoluns para false



<asp:GridView ID=GridView1 runat=server CellPadding=4 ForeColor=#333333 GridLines=None
AutoGenerateColumns=False>
<AlternatingRowStyle BackColor=White ForeColor=#284775 />
<Columns>
<asp:BoundField DataField=hs HeaderText=hs ReadOnly=True SortExpression=hs />
<asp:BoundField DataField=nr_telefone HeaderText=Telefone SortExpression=nr_telefone />
<asp:BoundField DataField=nm_solicitante HeaderText=Solicitante SortExpression=nm_solicitante />
<asp:BoundField DataField=endereco HeaderText=Endereço ReadOnly=True SortExpression=endereco>
<ControlStyle Width=300px />
<FooterStyle HorizontalAlign=Left Width=300px />
<HeaderStyle HorizontalAlign=Left />
</asp:BoundField>
<asp:BoundField DataField=nm_bairro HeaderText=Bairro SortExpression=nm_bairro>
</asp:BoundField>
<asp:BoundField DataField=ds_categoria_telefone HeaderText=Categoria Telefone
SortExpression=ds_categoria_telefone />
</Columns>
<EditRowStyle BackColor=#999999 />
<FooterStyle BackColor=#5D7B9D Font-Bold=True ForeColor=White />
<HeaderStyle BackColor=#5D7B9D Font-Bold=True ForeColor=White />
<PagerStyle BackColor=#284775 ForeColor=White HorizontalAlign=Center />
<RowStyle BackColor=#F7F6F3 ForeColor=#333333 />
<SelectedRowStyle BackColor=#E2DED6 Font-Bold=True ForeColor=#333333 />
<SortedAscendingCellStyle BackColor=#E9E7E2 />
<SortedAscendingHeaderStyle BackColor=#506C8C />
<SortedDescendingCellStyle BackColor=#FFFDF8 />
<SortedDescendingHeaderStyle BackColor=#6F8DAE />
</asp:GridView>

Ficou bem fácil assim , mas se voce achar que isso não é uma pratica boa por gentileza me de um toque , como lhe disse antes estou entrando no c# e de inicio preciso fazer tudo certinho .
Responder

18/05/2012

Joel Rodrigues

Ah, perfeito. Eu também fazia isso às vezes (e faço quando precisa). A forma que falei realmente fica complicada se a tabela for grande, é que eu pensei que fosse uma consulta genérica (um GridView para qualquer consulta). Mas pode continuar dessa forma, cara.
Responder

19/05/2012

Carlos Faria

Mais uma vez obrigado Joel
Responder

19/05/2012

Joel Rodrigues

Disponha, amigo.
Precisando, se eu puder ajudar, conte comigo.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar