CARREGAR DATAGRID COM WEBSERVICES
Como faço para um datagrid exibir os dados de um webservice?
estou usando esse cod
Try
Dim Resultado As DeviceApplication1.br.com.soccolbarbieri.www.Representantes = WsAfv.listarRepresentantes("")
Dim i As Integer
Dim Datatable As New DataTable()
Datatable.TableName = "Batatable"
Dim DataColumn As New DataColumn()
DataColumn.ColumnName = "nome"
Dim DataColumn2 As New DataColumn()
DataColumn2.ColumnName = "login"
Dim DataColumn3 As New DataColumn()
DataColumn3.ColumnName = "senha"
Dim Datarow As DataRow
For i = 0 To 6
Datarow = Datatable.NewRow()
Datarow("nome") = Resultado.nome(i).ToString
Datarow("login") = Resultado.login(i).ToString
Datarow("senha") = Resultado.senha(i).ToString
Datatable.Rows.Add(DataRow)
Next
Dim DataSet As New DataSet()
DataSet.Tables.Add(Datatable)
DtgRepresentantes.DataSource = DataSet
'DtgRepresentantes.DataMember = "Datatable"
Catch ex As System.Web.Services.Protocols.SoapException
MsgBox(ex.Message)
End Try
Try
Dim Resultado As DeviceApplication1.br.com.soccolbarbieri.www.Representantes = WsAfv.listarRepresentantes("")
Dim i As Integer
Dim Datatable As New DataTable()
Datatable.TableName = "Batatable"
Dim DataColumn As New DataColumn()
DataColumn.ColumnName = "nome"
Dim DataColumn2 As New DataColumn()
DataColumn2.ColumnName = "login"
Dim DataColumn3 As New DataColumn()
DataColumn3.ColumnName = "senha"
Dim Datarow As DataRow
For i = 0 To 6
Datarow = Datatable.NewRow()
Datarow("nome") = Resultado.nome(i).ToString
Datarow("login") = Resultado.login(i).ToString
Datarow("senha") = Resultado.senha(i).ToString
Datatable.Rows.Add(DataRow)
Next
Dim DataSet As New DataSet()
DataSet.Tables.Add(Datatable)
DtgRepresentantes.DataSource = DataSet
'DtgRepresentantes.DataMember = "Datatable"
Catch ex As System.Web.Services.Protocols.SoapException
MsgBox(ex.Message)
End Try
o WebService para teste está na seguinte url: http://www.soccolbarbieri.com.br/ws/wsRepresentantes.php?wsdl
Você pode fazer assim.
Dim server As New serverwsRepresentantes
Dim representantes() As Representantes = server.listarRepresentantes()
Dim dataset As New DataSet("dataset")
Dim table As New DataTable("table")
table.Columns.Add(New DataColumn("nome"))
table.Columns.Add(New DataColumn("login"))
table.Columns.Add(New DataColumn("senha"))
dataset.Tables.Add(table)
For Each representante As Representantes In representantes
Dim row As DataRow = table.NewRow()
row("nome") = representante.nome
row("login") = representante.login
row("senha") = representante.senha
table.Rows.Add(row)
Next
DataGrid1.SetDataBinding(dataset, "table")
Valeu Mordor, tenho que mudar algo nessa linha DataGrid1.SetDataBinding(dataset, "table") para funcionar em compactframework? Tah dando erro
Me desculpe, não percebi que estava usando o Compact Framework. Na documentação diz que o método SetDataBinding não é suportado. Tente passar o DataTable direto como DataSource do DataGrid. Não pude testar, pois meu VS está com problema pra rodar o emulador de SmartDevice, vou ter que reinstalar aqui,
Dim server As New serverwsRepresentantes
Dim representantes() As Representantes = server.listarRepresentantes()
Dim table As New DataTable("table")
table.Columns.Add(New DataColumn("nome"))
table.Columns.Add(New DataColumn("login"))
table.Columns.Add(New DataColumn("senha"))
For Each representante As Representantes In representantes
Dim row As DataRow = table.NewRow()
row("nome") = representante.nome
row("login") = representante.login
row("senha") = representante.senha
table.Rows.Add(row)
Next
DataGrid1.DataSource = table
Muito obrigado! resolveu meu problema!
Tópico encerrado , respostas não são mais permitidas