【发布时间】:2015-05-26 19:49:40
【问题描述】:
我正在尝试从 REST API 获取一些 XML 并在 datagridview 中显示数据。以下是我到目前为止的代码。
但是当我打开 Form1 时,datagridview 是空白的。
有没有一种方法可以验证数据是否从 API 拉回。
我的代码中是否有任何内容会阻止数据加载到 datagridview 中。
代码:
Imports System.Data
Imports System.Net
Public Class Form1
Public Shared Sub DataSetSample1()
Dim request As HttpWebRequest
Dim response As HttpWebResponse = Nothing
Dim dsWeather As DataSet
Try
' Create the web request
request = DirectCast(WebRequest.Create( _
"https://crm.zoho.com/crm/private/xml/Accounts/getRecords?authtoken=123456789&scope=crmapi"), HttpWebRequest)
' Get response
response = DirectCast(request.GetResponse(), HttpWebResponse)
' Load data into a dataset
dsWeather = New DataSet()
dsWeather.ReadXml(response.GetResponseStream())
Form1.DataGridView1.DataSource = dsWeather.Tables
Finally
If Not response Is Nothing Then response.Close()
End Try
End Sub
我应该指出我是新手:)
非常感谢任何帮助。
【问题讨论】:
-
dsWeather.Tables(0).Rows.Count会告诉你是否加载了多少行。 -
我在运行应用程序时添加了“Form1.TextBox1.Text = dsWeather.Tables(0).Rows.Count”,它返回值 1 - 但视图中没有添加任何内容
-
我撒谎 - 它添加了一个名为“uri”的列,其值为“/crm/private/xml/Accounts/getRecords”
-
你确定响应是 xml 吗?您可能希望将其捕获为字符串 var 并查看它。此外,您需要的不是 DataSet,而是一个 DataTable,它也将 ReadXml。当然,如果权限错误或过期,您会收到通知(就像您点击 Q 中的链接一样)。
-
首先您需要加载方案(这将创建列和表),然后加载 xml(这会将记录填充到 DataSet 表和记录中)
标签: vb.net datagridview xmlreader