2012-08-27 31 views
0

我在将行数/单元格值添加到GridControl时遇到了问题。 我正在使用Web Service作为数据源。 我的网络服务功能完美运行,并返回一个xml类型值 如何从Web服务向GridControl填充数据?

<User> 
<UserID>000015</UserID> 
<UserGroup>MR</UserGroup> 
<UserName>ARIF SETYOWARDOYO</UserName> 
<IsActive>1</IsActive> 
</User> 

我将我的web服务作为'添加服务'添加到我的项目中。 而且,我的BindingSource代码:

userBindingSource.DataSource = typeof(DXWindowsApplication1.WebService.User); 

我重视我的BindingSource到GridControl,它会自动创建4列,分别为用户名,用户组,用户名和IsActive。
但它们的行中没有数据。如果我下面运行此脚本,它会运行和返回值..

WebService.MyWebServiceWs = new WebService.MyWebServiceWs(); 
WebService.User[] user = Ws.GetUserDetails(); 
string userId = user[0].UserID.ToString(); 
string userGroup = user[0].UserGroup.ToString(); 
string userName = user[0].UserName.ToString(); 
string isActive = user[0].IsActive.ToString();//int isActive = user[0].IsActive.Value; 



所以我的问题是,我是什么未来做才能取回此WebService数据到GridControl?
任何参考将非常感激......
谢谢:)
干杯..

回答

0

我从网络读取XML Web服务没有和poupolate我的表使用此代码:

// needed variable 
private DataSet ds; 
//read xml and poupolate table 
System.Xml.XmlDataDocument xmlDatadoc = new System.Xml.XmlDataDocument(); 

       xmlDatadoc.DataSet.ReadXml("http://your link to xml"); 
       ds = xmlDatadoc.DataSet; 



       datagridviwe1.DataSource = ds.DefaultViewManager; 
       datagridviwe1.DataMember = "User"; 

但您需要在我们的XML文件中的一些变化,这是一个例子:

<User UserID="000015" UserGroup="MR" UserName="ARIF SETYOWARDOYO" IsActive="1" /> 
<User UserID="000016" UserGroup="MRS" UserName="LADY LAYON" IsActive="0" /> 

这与所有值poupolate表,用于个性化显示内容,您需要ŧ o与您的xsd模式绑定来源并编辑表格生成。

+0

嗨devilkkw,谢谢你的回复。这真的鼓励我前进。但是,在这种情况下我仍然有问题,因为我必须使用webservice,我不知道如何更改该xml格式。 – choz

+0

我认为使用你的web服务,你需要为所有数据接收创建数组,然后用它来生成datagrid(方法foreach)。我没有尝试这种方法,并且我没有帮你示例code.sorry。 – devilkkw

相关问题