ASP .NET
- Formatando fórmulas químicas
Talvez você nunca vá precisar deste recurso, mas como o mundo dá muitas voltas, e saber não ocupa espaço, neste artigo eu mostro como podemos exibir fórmulas químicas formatadas em uma páginas ASP .NET que usa o controle DataGridView.
Fórmula química representa
o número e o tipo de átomos que constituem uma molécula. Os tipos de
fórmulas são: molecular, eletrônica e estrutural plana. a) Molecular: é a representação mais simples e aponta apenas quantos átomos de cada elemento químico que constitui a molécula. Exemplos: H2O (água), CO2 (gás carbônico). b) Eletrônica: essa fórmula indica os elétrons da camada de valência de cada átomo e a formação dos pares eletrônicos, e também os elementos e o número de átomos envolvidos. É conhecida também como fórmula de Lewis. Exemplo: H• •O• •H (água). c) Estrutural plana: indica as ligações entre os elementos, cada par de elétrons entre os átomos é representado por um traço. Conhecida também como fórmula estrutural de Couper. Exemplos: H – O – H => água O = C = O => gás carbônico fonte : http://www.brasilescola.com/quimica/formulas-quimicas.htm (acessado em julho 2013) |
Vamos primeiro criar uma tabela chamada Formulas no banco de dados Cadastro.mdf com a seguinte estrutura:
![]() |
Vamos incluir alguns dados na tabela conforme abaixo:
![]() |
Observe que as fórmulas não estão formatadas.
Criando o projeto no Visual Web Developer
Agora abra o Visual Web Developer 2010 Express Edition e no menu File clique em New Web Site;
A seguir selecione o template ASP .NET Empty Web Site e informe o nome WebSiteFormulas;
![]() |
No menu WebSite clique em Add New Item e a seguir selecione o template Web Form aceitando o nome padrão: Default.aspx;
Abra página Default.aspx e no meno design inclua um controle DataGridView e em Choose Data Source selecione <New Data source...>
Selecione a conexão com o banco de dados Cadastro.mdf e clique em Next>;
![]() |
Escolha a tabela Formulas e a seguir clique em Next> e depois em Finish.
Este procedimento esta vinculado a tabela Formulas ao controle DataGridView e exibindo os valores dos campos id, nome e formula.
Formatando as fórmulas
Vamos agora usar um controle DataGrid (sim podemos usar o DataGrid ainda) para exibir as fórmulas formatadas.
A seguir defina o código abaixo na página que irá definir um controle DataGrid com duas colunas:
</span><asp:DataGrid
id="DataGrid1"
AutogenerateColumns="False"
runat="server" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2" Height="318px" Width="381px"> <Columns> <asp:TemplateColumn HeaderText ="Nome"> <ItemTemplate> <font face="Arial" size="3" > <b> <%#DataBinder.Eval(Container.DataItem, "Nome").ToString()%> </b> </font> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText ="Fórmula Química"> <ItemTemplate> <font face="Arial" size="3" > <b> <%#FormataFormulaQuimica(DataBinder.Eval(Container.DataItem, "Formula").ToString())%> </b> </font> </ItemTemplate> </asp:TemplateColumn> </Columns> <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" /> <HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" /> <ItemStyle BackColor="#FFF7E7" ForeColor="#8C4510" /> <PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" Mode="NumericPages" /> <SelectedItemStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" /> </asp:DataGrid> </div> </form> |
Abra o arquivo code-behind Default.aspx.vb e defina o seguinte código no arquivo:
Imports System.Data.SqlClient Imports System.Data Partial Class _Default Inherits System.Web.UI.Page Private ds As DataSet = New DataSet Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then binddata() End If End Sub Sub binddata() Dim sqlStmt As String = "Select * from Formulas" Dim conString As String = "Data Source=.\sqlexpress;Initial Catalog=Cadastro;Integrated Security=True" Dim myda As SqlDataAdapter = New SqlDataAdapter(sqlStmt, conString) myda.Fill(ds) DataGrid1.DataSource = ds DataGrid1.DataBind() End Sub Function FormataFormulaQuimica(ByVal fldval As String) As String Dim ValoresCampos() As String = Regex.Split(fldval, "") Dim i As Integer = 0 Dim strval As String = "" 'Navega através de cada caractere de ValoresCampos For i = 0 To ValoresCampos.Length - 1 'Verifica se o valor é numérico => True/False If IsNumeric(ValoresCampos(i)) Then strval = strval & "<sub>" & ValoresCampos(i) & "</sub>" Else strval = strval & ValoresCampos(i) End If Next Return strval End Function End Clas |
No código acima estamos definindo uma conexão com a tabela Formulas e vinculando-a ao DataGrid.
O método FormataFormulaQuimica() é quem realiza a formatação do campo onde as fórmulas foram incluídas.
Executando o projeto iremos obter:
![]() |
Temos assim uma comparação entre as exibições das fórmulas não formatadas e usando a formatação definida na aplicação.
Pegue o projeto completo
aqui: ASPNETFormulas.zip
Mat 22:41
Ora, enquanto os fariseus estavam reunidos, interrogou-os Jesus, dizendo:Mat 22:42
Que pensais vós do Cristo? De quem é filho? Responderam-lhe: De Davi.Mat 22:43
Replicou-lhes ele: Como é então que Davi, no Espírito, lhe chama Senhor, dizendo:Mat 22:44
Disse o Senhor ao meu Senhor: Assenta-te à minha direita, até que eu ponha os teus inimigos de baixo dos teus pés?Mat 22:45
Se Davi, pois, lhe chama Senhor, como é ele seu filho?Referências: