Depois de receber várias dúvidas via e-mail, e selecionar algumas
dúvidas dos Fóruns que participo, resolvi escrever este artigo colocando
diversas funcionalidades que precisamos no dia-a-dia que muitas das vezes não
lembramos como se faz.
Nos baseando em ambiente Web, criarei uma
WebApplication para dar exemplos dessas funcionalidades. Os tópicos estarão
separados, analisando caso por caso.
1 - Como fazer para resgatar valores do arquivo Web.Config
Primeiramente devemos importar o
Namespace Configuraton. Depois
utilizamos a Propriedade
AppSettings da classe
ConfigurationSettings passando como parâmetro o nome da
Key à ser
resgatada.
|
|
Imports
System.Configuration |
Response.Write(ConfigurationSettings.AppSettings("NomeKEY")) |
| |
Código 2 - Resgatando valores
do WebConfig. |
2 - Percorrendo itens de um controle
Algumas vezes precisamos percorrer os itens de algum controle.
Quando não podemos utilizar os eventos que façam isso, como o
ItemDataBound dos controles DataGrid, DataList ou
Repeater, devemos criar uma variável do tipo DataGridItem,
DataListItem ou RepeaterItem e juntamente com ela percorremos
todos os itens de alguns desses controles através de um laço For...Each.
No exemplo abaixo, utilizaremos o evento Click de um Button para
percorremos os items de um DataGrid.
|
|
Dim item As DataGridItem |
For Each item in Me.dgItens.Items |
"Aqui você utiliza as proriedades e
métodos de cada item. |
Next |
| |
Código 2 - Percorrendo Itens
de um Controle. |
3 - Trabalhando com DropDownList
Quando carregamos controles do tipo DropDownList as
vezes precisamos definir quais os valores que aparecerão para o Usuário
visualizar e quais ficarão como valores para resgatarmos e fazermos comparações
ou até mesmo, gravar na Base de Dados. Além disso, precisamos colocar valores
Defaults, exemplo: "Selecione...". Abaixo veremos como podemos fazer
isso:
|
|
Me.cboVeiculos.DataValueField = "VeiculoID" |
Me.cboVeiculos.DataTextField = "Nome" |
Me.cboVeiculos.DataSource
= cmd.ExecuteReader(CommandBehavior.CloseConnection) |
Me.cboVeiculos.DataBind() |
Me.cboVeiculos.Items.Insert(0,
"Selecione...") |
Me.cboVeiculos.SelectedIndex = Me.cboVeiculos.Items.IndexOf(Me.cboVeiculos.Items.FindByText("Golf")) |
| |
Código 3 - Percorrendo Itens
de um Controle. |
OBS.: Nas
propriedades
DataValueField e
DataTextField recebem os campos da
Tabela da Base de Dados ou as Propriedades de uma Coleção. Utilizando o método
Insert da Propriedade
Items passamos a posição qual queremos que
seja inserida. No caso acima, coloquei-o na primeira posição à aparecer no
DropDownList. Além de tudo isso, ainda podemos posicionar o
DropDownList em alguma posição qualquer, deixando à vista um determinado
item. Para isso utilize o método
FindByText e passe como parâmetro o
texto que deseja que fique à mostra. Se você não tiver o valor do Texto, pode
utilizar o outro método chamado
FindByValue, que faz a mesma coisa, mas
baseia a busca nos valores internos do
DropDownList.
4 - Limpando todos os valores dos TextBox do WebForm
Para que seja possível limpar todos os valores dos controles do
tipo TextBox do WebForm, é necessário a construção de uma função Recursiva, pois
temos que levar em consideração que há controles que também podem ter mais
controles dentro. Vejamos:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
|
|
Public Sub Limpar(ByVal controlP As
Control) |
Dim ctl As
Control |
For
Each ctl In
controlP.Controls |
If TypeOf ctl
Is TextBox Then |
DirectCast(ctl,
TextBox).Text = String.Empty |
ElseIf
ctl.Controls.Count > 0 Then |
Limpar(ctl) |
End
If |
Next |
End Sub |
|
"Para chamar a
função: |
Call Me.Limpar(Me) |
| |
Código 4 - Limpando o conteúdo
de controles TextBox de um WebForm. |
5 - Enumeradores
Enumeradores é uma lista de valores constantes, cuja
representação é dada por um valor inteiro, começando por 0 (zero). Abaixo
veremos como criar uma Enumerador (Enum):
|
|
Public Enum
Prioridades |
Alta |
Normal |
Baixa |
End
Enum |
| |
Código 5 - Criando
Enumeradores. |
Depois disso, o
Intellisense já passa a nos ajudar. Isso garante com que o programador seja
obrigado à escolher entre as opções que estão dentro do Enumerador.
|
Figura 1 - Utilizando
Enumeradores. |
6 - Utilizando JavaScript nos WebControls
Para utilizar JavaScript em algum WebControl é bem simples.
Utilize o método Add da coleção de Atributos para adicionar um script à
um determinado contole. Exemplo:
|
|
Me.btnJS.Attributes.Add("onClick", "javascript:alert("Botão
Pressionado");") |
| |
Código 6 - Utilizando
JavaScript. |
|
Figura 2 - Botão sendo
pressionado. |
7 - Utilizando ListBox
Em alguns casos precisamos dispor ao Usuário algumas opções
onde ele possa selecioná-las e em seguida atualizar alguma coleção, Base de
Dados, etc. Uma saída bastante interessante seria termos dois ListBox no
WebForm e deixarmos o Usuário selecionar e ao clicar em um determinado
Button, os items selecionados vão para outro ListBox e depois
disso, finaliza-se o processo no clicar de um outro Button. Vejamos a
idéia abaixo:
|
|
Figura 3 - Utilizando
ListBox para seleção de múltiplas
opções. |
OBS.: Não colocarei o
código aqui para economizar espaço. Mas ao fazer o downloads no fim do artigo,
ele se encontrará incluso.
8 - Resgatando o Nome do Arquivo
Muitas vezes temos o arquivo com o seu "path" completo e
precisamos resgatar somente o nome desse arquivo. Agora não precisamos mais
ficarmos manipulando a String, apenas utilizamos a classe
System.IO.Path. Exemplo:
|
|
Dim fileName As String =
"C:\Diretorio1\Diretorio2\Arquivo.txt" |
Response.Write(System.IO.Path.GetFileName(fileName)) |
| |
Código 7 - Resgatando o nome
do arquivo. |
CONCLUSÃO: Bem, espero nesse artigo poder ajudá-los com essas
pequenas funcionalidades que sempre precisamos no dia-à-dia no desenvolvimento
de sites e sistemas.