quarta-feira, 31 de outubro de 2007

Facilidades .NET

Visual Studio em tela cheia

Essa dica é pra quem gosta de usar mais de 100% da tela, he, he. Para deixar o Visual Studio em tela cheia com poucos toques basta fazer Shift+Alt+Enter.

Auto completar

Definiu o nome de uma variável que está complicado de digital igual? Programa em C# e nunca sabe como está o case da palavra? Seus problemas acabaram. Inicie a digitação da palavra e depois clique Control+Espaço. Isso fará com que o intellisense apareça na tela com as opções. Isso é bom também para saber se a variável pertence aquele escopo. Se não aparecer nas opções é porque não faz parte daquele escopo.

Definir primeiro foco de uma página

Se você tem uma tela e quer que ao carregar a página uma determinada caixa de texto ou botão receba o foco, basta fazer assim:

    <form id="form1" DefaultFocus="txtBusca" runat="server">

       ...

    </form>

Definir botão que responderá ao ENTER na página

Para escolher qual botão será acionado quando for clicado no ENTER do teclado, basta fazer o seguinte código:

    <form id="form1" DefaultButton="btnBuscar" runat="server">

       ...

    </form>

Essas e outras tantas dicas podem ser visualizadas e também inseridas diretamnte no site .NET Tip of The Day Falow

sábado, 8 de setembro de 2007

Formatação em GridView

    Hoje vou falar de um assunto que pode causar muita dor de cabeça para quem está começando a conhecer os controles do ASP.NET.     Vou falar um pouco sobre a formatação de valores em um controle GridView. Nem sempre o dado armazenado no banco representa o que usuários deseja enchergar. Um exemplo disso é o campo de status, onde geralmente é usada uma notação diferente do nome do mesmo, por exemplo, apenas uma letra.     Para iniciar, crie um novo WebSite com o nome de GridFormatado. Arraste um GridView para a tela, crie um banco de dados como mostrado na imagem e faça o vínculo do GridView com o banco através de um controle DataSource.     Execute o projeto e você verá uma tela semelhante a esta ao lado. O GridView mostra os dados da mesma forma em que estão gravadas no banco. Mas não parece muito intuitivo colocar para o usuário final um "A" ou "I" quando o usuário está, respectivamente Ativo ou Inativo.     Da mesma forma que você poderia informar com uma imagem ao invés da letra o sexo do usuário.     Vou ensinar duas formas de fazer isso, uma através de um código inserido diretamente na página .aspx e outro através da chamada de um método na classe derivada da página .aspx.     Acesse a tecla inteligente do GridView, vá até edit columns e clique em Convert this field into a ItemTemplate nos campos Sexo e Status.     Acesse o código do arquivo aspx e encontre o seguinte código dentro sendo atribuído a uma propriedade Text: '<%# Bind("Status") %>'     Neste trecho, pode ver onde o campo Status do Select executado pelo DataSource é preenchido. Esse código retornará apenas um "A" ou "I" conforme nosso banco de dados. Para que neste local aparece um texto mais intuitivo, devemos trocar pelo seguinte código: C# '<%#((string)Eval("Status"))== "A" ? "Ativo" : "Inativo" %>' VB.NET '<%# iif(Eval("Status") = "A" , "Ativo" , "Inativo") %>'     Podemos ver que temos um código simples onde é feito um teste condicional. É uma solução bem simples, nada de fazer novas funções nem nada. Mas nem sempre isso vem de encontro ao que realmente desejamos. Se quiser fazer algo mais complicado, não convém colocar diretamente no código aspx. É nesses casos que usamos as funções no CodeFile.     Acesse o código do arquivo aspx e encontre o seguinte código dentro sendo atribuído a uma propriedade Text: '<%# Bind("Sexo") %>'     Neste trecho, semelhante ao anterior, o campo "Sexo" recebe o seu valor. Esse código retornará apenas um "M" ou "F" conforme nosso banco de dados. Neste caso vamos fazer a troca deste texto via função no CodeFile. Primeiro altere o código no arquivo aspx conforme segue: C# ou VB.NET '<%# FormataSexo(Convert.ToString(Eval("Status"))) %>'     E no CodeFile crie a função com o mesmo nome, lembrando de que como se trata de um acesso a método de fora da classe é necessário declara-lo com modificador de acesso protected. protected string FormataSexo(string sexo)  {   if (sexo =="M")   {    return "Masculino"   }   else   {    return "Feminino"   }  }     As possibilidades vão mais além. Por exemplo, ao invés de ser um texto, uma imagem, então trocando o controle, de um Label para um html img. Isso facilita bastante em casos em que deve-se tratar imagens que não existem, colocando uma default de "imagem não disponível e etc.

terça-feira, 7 de agosto de 2007

Tabeless e mais o que?

    Sempre na correria mas sempre aprendendo um pouco mais. Estou pesquisando um pouco mais a fundo sobre Tableless, CSS e CSS Hack, palavras que cada vez mais são usadas no mundo da Internet.     Infelizmente, apesar de existir um padrão para isso tudo, organizado pelo W3C, muitos browser apresentam as mesmas aplicações web (sites) de formas diferentes.     Um bom exemplo disso e a forma com o Internet Explorer não ignorar atributos precedidos por um "_" no CSS. Em muitos casos, esse CSS Hack é a saída quando você precisa definir, por exemplo, um with diferente no IE , diferente dos outros browsers. basta definir assim: width:200px; _width:250px;     Todos os outros browser vão ignorar a segunda atribuição, mas o IE não, ele sobrescreverá o que foi atribuído anteriormente. O Problema é que com esse CSS Hack seu site não é validado pelo W3C.     Uma forma legal de ver se o CSS que você fez está sem redundâncias ou erros é acessar o site de validação do WC3. Você copia o link do site ou até mesmo cola o código fonte e analisa o que pode ter de errado com seu CSS. Claro que isso não garante que funcione em todos os Browsers, mas pelo menos saberá que está no padrão recomendado. Falow