Translate this page now :



»Programação
»Programação.NET
»Banco de Dados
»Webdesign
»Office
» Certificações Microsoft 4
»Treinamentos4
»Programação 4
»Webdesign«
»Office & User Tips«
»Grupos de Usuários
»Células Acadêmicas«
intcontpiada : 118
Os 3 Porquinhos
Você já está cadastrado e participa do grupo de usuários de sua cidade ? Se não, comente o porque.
 
 
Faça um pequeno teste com 10 questões de VB
.:.
Teste seus conhecimentos em Visual Basic, SQL Server e ASP 3.0 com nossas provas on-line
.:.
Aprimore seus conhecimentos em programação com nosso treinamento on-line de lógica de programação
.:.
Veja nosso calendário de treinamentos
Gostou da Página?
Então

para um amigo!
 







Pesquisa personalizada
Pesquisar Dicas:

 









Utilizando o WebService da Búfalo

Há alguns dias disponibilizamos um WebService em nosso site para permitir a republicação de nossos artigos, mas não fornecemos nenhum exemplo de uso.

Pois eis aqui um exemplo de utilização deste nosso WebService. Como não podia deixar de ser, construido em ASP.NET .

Nosso WebService classifica os artigos por Assunto e SubAssunto. Assim sendo precisaremos ter na página duas combos e uma grid. Uma combo para mostrar os assuntos, outra combo para mostrar os sub-assuntos e a grid para mostrar a lista de artigos.

Teremos que adicionar na aplicação um WebReference para o arquivo WSDL do serviço de artigos. Este arquivo descreve o que o serviço possui. O caminho é http://www.bufaloinfo.com.br/servicosweb/artigos/artigos.asmx?WSDL

As duas combos estarão interligadas por código. Quando a primeira mudar, a 2a terá que mudar, quando a 2a mudar, o grid deverá ser alterado. Por isso deveremos configurar o autoPostBack para true em ambas as combos.

Quando vincularmos a primeira combo com a origem de dados precisaremos provocar o preenchimento da 2a combo. Isso porque a combo já será exibida com um item selecionado, portanto precisaremos já exibir a 2a combo com base neste item. O mesmo acontecerá com a 2a combo, que já será exibida com um item selecionado e por isso, ao vincular os dados com a combo precisaremos já exibir os Artigos relativos a estes itens.

Em relação ao WebService teremos que fazer uso de 3 métodos : ListarAssuntos, ListarSubAssuntos e ListarArtigos.

No page_load teremos que carregar a primeira combo, utilizando o método ListarAssuntos. Veja :

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
                                Handles MyBase.Load
        'Put user code to initialize the page here  
        If Not Page.IsPostBack Then
            Dim ws As New Artigos.Artigos()

            DDLAssuntos.DataSource = ws.ListarAssuntos().Tables("assuntos")

            DDLAssuntos.DataTextField = "Assunto"
            DDLAssuntos.DataValueField = "CodAssunto"
            DDLAssuntos.DataBind()

            DDLAssuntos.SelectedIndex = 0
            CarregarSubAssuntos()
        End If
    End Sub

O método listarAssuntos devolve um dataSet. Deste DataSet obtemos a tabela assuntos e a vinculamos com a 1a combo. Em seguida indicamos o item selecionado (0) e chamamos a CarregarSubAssuntos, que irá carregar os sub-assuntos ligados a este item selecionado.

Veja como fica a CarregarSubAssuntos :

     Private Sub CarregarSubAssuntos()
        Dim ws As New Artigos.Artigos()

        DDLSubAssuntos.DataSource = ws.ListarSubAssuntos(DDLAssuntos.SelectedItem.Value).Tables("SubAssuntos")

        DDLSubAssuntos.DataTextField = "SubAssunto"
        DDLSubAssuntos.DataValueField = "CodSubAssunto"
        DDLSubAssuntos.DataBind()

        DDLSubAssuntos.SelectedIndex = 0
        CarregarArtigos()
    End Sub

O método ListarSubAssuntos recebe como parâmetro o código do assunto. Os subAssuntos listados serão aqueles relacionados ao assunto em questão (selecionado na combo). Mais uma vez vinculamos a tabela com a combo, definimos o item selecionado e chamamos a próxima sub, CarregarArtigos.

Veja como fica o CarregarArtigos :

 
    Private Sub CarregarArtigos()
        Dim ws As New Artigos.Artigos()
        Dim Codassunto, codsubassunto As Integer


        Codassunto = DDLAssuntos.SelectedItem.Value

        codsubassunto = DDLSubAssuntos.SelectedItem.Value

        DGArtigos.DataSource = ws.ListarArtigos(Codassunto, codsubassunto)

        DGArtigos.DataBind()
    End Sub


O método ListarArtigos recebe 2 parâmetros, código do assunto e código do subassunto. Os artigos que serão devolvidos são aqueles que pertencerem a esses respectivos assunto e sub-assunto.

Desta vez para exibirmos os artigos criamos o vinculo com uma grid ao invés de usarmos uma combo. O que falta agora é tratarmos os eventos das combos, essa é a parte fácil :

     Private Sub DDLAssuntos_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
                                   Handles DDLAssuntos.SelectedIndexChanged
        CarregarSubAssuntos()
    End Sub

    Private Sub DDLSubAssuntos_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
                             Handles DDLSubAssuntos.SelectedIndexChanged
        CarregarArtigos()
    End Sub


As duas combos chamam as subs para CarregarSubAssuntos e CarregarArtigos respectivamente.


Com isso teremos duas combos e uma grid, podendo selecionar o assunto, sub-assunto e ver os artigos ligados a esse assunto e sub-assunto. Demonstramos assim a utilização de mais um WebService, que você poderá utilizar no seu próprio site para acessar nossa lista de artigos.

Veja um exemplo desta aplicação pronta em http://www.bufaloinfo.com.br/artigos/servico/webform1.aspx

Correção : O WebService foi movido para novo endereço, encontra-se em http://www.bufaloinfo.com.br/servicosweb/artigosdva/artigos.asmx . O exemplo citado acima ainda não foi corrigido para apontar para o novo endereço. Vocês podem ver um exemplo funcional do uso deste serviço em http://www.devaspnet.com.br/artigos2/novosartigos.aspx

Dennes Torres
MCSD,MCSE,MCDBA



� Búfalo Informática, Treinamento e Consultoria - Rua Álvaro Alvim, 37 Sala 920 - Cinelândia - Rio de Janeiro / RJ
Tel.: (21)2262-1368 (21) 9240-5134 (21) 9240-7281 e-Mail:
contato@bufaloinfo.com.br