Nenhum comentário


Imagens de acordo com determinada condição

Em uma tabela de clientes, certamente possuimos um campo indicador do sexo. Que tal mostrar no GridView a listagem dos clientes e de acordo com o sexo mostrar uma imagem diferente?

 

Bem, criei uma tabela de clientes, onde existe um campo chamado SEXO, salvando, obviamente as opções “M” ou “F”. Para este exemplo, vou me basear no ótimo artigo de Eduardo Henrique Rizo publicado na edição 33 da .net Magazine. Adicione o código da Listagem 1 na página.

 

Listagem 1. Criando um método que retorne o nome do arquivo

protected string GetImagem (string aSexo)

{

   string ret = "";

   if (aSexo == "M")

     ret = "~/imagens/M.bmp";

   else if (aSexo == "F")

     ret = "~/imagens/F.bmp";

   return ret;

}

 

O código anterior retorna o nome do arquivo, salvo na pasta imagens de acordo com o valor passado como parâmetro. No editor de colunas do GridView, para o campo SEXO, transforme-o em um TemplateField.

 

Acesse o editor de templates e adicione um Image. Acesse a Smart Tag e escolha a opção Edit DataBindings. Na tela, escolha Custom binding e digite: “GetImagem(Convert.ToString(Eval("SEXO")))”.

 

Com esse código, fizemos o Bind na propriedade ImageURL do controle, que passará o valor do campo SEXO através do Eval(“SEXO”). Feche o editor, rode a aplicação e veja as imagens sendo mostradas de acordo com o sexo do cliente (Figura 1).

 

Figura 1. Mostrando imagens de acordo com o valor do campo SEXO