【问题标题】:ReadXML to vb.net datagridviewReadXML 到 vb.net datagridview
【发布时间】: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


【解决方案1】:

通过索引引用您希望显示的表格:

Form1.DataGridView1.DataSource = dsWeather.Tables(0)

【讨论】:

    猜你喜欢
    • 2018-02-19
    • 1970-01-01
    • 2014-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-19
    相关资源
    最近更新 更多