【发布时间】:2016-02-12 01:38:20
【问题描述】:
这是我必须从 web 服务获取 XMl 的代码,然后我试图将其绑定到 datagridview 但我只能得到一行。
public void CreateObject()
{
const string ServerURl = "http://services.odata.org/AdventureWorksV3/AdventureWorks.svc/ProductCatalog";
HttpWebRequest request = WebRequest.Create(ServerURl) as HttpWebRequest;
request.ContentType = "application/atom+xml";
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
ds.ReadXml(response.GetResponseStream());
dataGridView1.DataSource = ds.Tables[0];
}
}
private void button1_Click(object sender, EventArgs e)
{
CreateObject();
dataGridView1.DataSource = ds.Tables[0];
}
我不确定我错过了什么,它在一个 winform 应用程序中
这里是根据 Roman 的建议更新的代码,它似乎在 ds.readxml 抛出异常
using System;
using System.Data;
using System.Windows.Forms;
using System.Net;
namespace Odata4
{
public partial class Form1 : Form
{
public DataSet ds;
public DataTable sourcetable;
public Form1()
{
InitializeComponent();
}
public void CreateObject()
{
const string ServerURl = "http://services.odata.org/AdventureWorksV3/AdventureWorks.svc";
HttpWebRequest request = WebRequest.Create(ServerURl) as HttpWebRequest;
request.ContentType = "application/atom+xml";
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
ds.ReadXml(response.GetResponseStream());
foreach (DataTable table in ds.Tables)
{
foreach (DataRow dr in table.Rows)
{
sourcetable.Rows.Add(dr.ItemArray);
}
}
dataGridView1.DataSource = sourcetable;
}
}
private void button1_Click(object sender, EventArgs e)
{
CreateObject();
}
}
}
【问题讨论】:
标签: c# xml winforms web-services datagridview