Web Forms :: How To Bind XML Returned From Web Service To GridView
May 16, 2013how to read the xml result of a webservice using vb and bind it to gridview.
View 1 Replieshow to read the xml result of a webservice using vb and bind it to gridview.
View 1 RepliesIs it possible to bind data to specfic columns in Gridview?
I mean, if I send a query to my database and it returns 1 column, then bind that column to the first column in the gridview, then send another query and bind the resulting column from that query to the second column without erasing the data of the first column etc etc.
i need to create a fully funnctional gridview with the results returned from a script serice ( AJAX enabled WCF Service ).
The grid should allow user to sort and page the data.
could any body drive me to the proper technology or a useful link.
I have a web service that returns an object that I attach to a gridview's datasource. is there a way to sort the data from the web service before attaching it to the datasource?
[Code]....
I'm having a confusing issue concerning web services, XmlDocument return type and XmlProcessingInstruction. I've basically got a web service that returns an XmlDocument containing a list of search results. In order to make it a little more user-friendly, I'd like the XmlDocument to include a Processing Instruction (<?xml-stylesheet type='text/xsl' href='book.xsl'?>) for the inclusion of an XSL stylesheet. Is there something in the ASP.NET pipeline that would prevent this? I'm using the following code (lifted from the MSDN documentation of the CreateProcessingInstruction() method) in a test WebMethod and it doesn't seem to include the processing instruction.
[Code]....
All I'm getting in the response is the following:
[Code]....
A sample web service app I have been practicing with has two web methods:
1) HelloWorld -- which I can read the data from no problem - just a string
2) ClientData[] -- which returns an array of struct objects -- this is where I have the question.
Here is my instantiation of the webservice in my winform app for reading from HelloWorld
myWebSvc1.WebService1 s1 = new myWebSvc1.WebService1();
string y = s1.HelloWorld(); //--no problems so far here
Console.WriteLine(y);
//--but when I add the call to GetClientData() I have a problem
List<ClientData> ls = new List<ClientData>(s1.GetClientData(3)); //--problem here
public struct ClientData
{
public String Name;
public int ID;
}
[WebMethod(CacheDuration = 30,
Description="Returns an array of Clients.")]
public ClientData[] GetClientData(int Number)
{
ClientData [] Clients = null;
if (Number > 0 && Number <= 10)
{
Clients = new ClientData[Number];
for (int i = 0; i < Number; i++)
{
Clients[i].Name = "Client " + i.ToString();
Clients[i].ID = i;
}
}
return Clients;
}
If I browse the .asmx file -- the sample xml returns the following if I enter 3 for GetClientData function param
<?xml version="1.0" encoding="utf-8" ?>
- <ArrayOfClientData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://codeproject.com/webservices/">
- <ClientData>
<Name>Client 0</Name>
<ID>0</ID>
</ClientData>
- <ClientData>
<Name>Client 1</Name>
<ID>1</ID>
</ClientData>
- <ClientData>
<Name>Client 2</Name>
<ID>2</ID>
</ClientData>
</ArrayOfClientData>
From my winform app I get the following error messages when trying to add the GetClientData function call above --
Error 1 The best overloaded method match for 'System.Collections.Generic.List<DSS_2008.Form7.ClientData[]>.List(System.Collections.Generic.IEnumerable<DSS_2008.Form7.ClientData[]>)' has some invalid arguments
Error 2 Argument '1': cannot convert from 'DSS_2008.myWebSvc1.ClientData[]' to 'System.Collections.Generic.IEnumerable<DSS_2008.Form7.ClientData[]>'
Error1 The best overloaded method match for 'System.Collections.Generic.List<DSS_2008.Form7.ClientData[]>.List(int)' has some invalid arguments
Error 2 Argument '1': cannot convert from 'DSS_2008.myWebSvc1.ClientData[]' to 'int'
How can I fix this so that I can read the result into my winform app?
//--sample web service
namespace MyService
{
using System;
using System.Collections;
using System.Data;
using System.Web;
using System.Web.Services;
public struct ClientData
{
public String Name;
public int ID;
}
/// <summary>
/// Summary description for WebService1.
/// </summary>
[WebService(Namespace="http://codeproject.com/webservices/",
Description="This is a demonstration WebService.")]
public class WebService1 : System.Web.Services.WebService
{
//--source of sample:
http://www.codeproject.com/KB/webservices/myservice.aspx
private const int CacheHelloWorldTime = 10; // seconds
public WebService1()
{
//CODEGEN: This call is required by the ASP+ Web Services Designer
InitializeComponent();
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
//WEB SERVICE EXAMPLE
//The HelloWorld() example service returns the string Hello World
//To build, uncomment the following lines then save and build the project
//To test, right-click the Web Service's .asmx file and select View in Browser
//
[WebMethod(CacheDuration = CacheHelloWorldTime,
Description="As simple as it gets - the ubiquitous Hello World.")]
public string HelloWorld()
{
return "Hello World bbb";
}
[WebMethod(CacheDuration = 30,
Description="Returns an array of Clients.")]
public ClientData[] GetClientData(int Number)
{
ClientData [] Clients = null;
if (Number > 0 && Number <= 10)
{
Clients = new ClientData[Number];
for (int i = 0; i < Number; i++)
{
Clients[i].Name = "Client " + i.ToString();
Clients[i].ID = i;
}
}
return Clients;
}
}
}
I have recently converted all my applications to framework 4.0 and am very happy as a whole.
I have, however, run into a bit of a bind: i have exposed quite a few web services that have methods returning datasets.
Clients immediately started complaining that the order of the tables within the returned datasets were different. I investigated and can confirm that the webmethods are indeed shuffling the tables within the datasets. The order of tables in the method result are markedly different from the table order in the code before being returned.
My question is: is it possible to hard code the order of tables within the dataset being returned by a webmethod? I know that clients should, ideally, be referencing the tables via the table names, but that is - unfortunately - not the case in the really real world.
I'm maintaining a legacy XML web service system (Framework 2.0), and is trying to return an XML fragment as part of a SOAP response. Problem is: SOAP will auto-enclose the XML fragment in <[CData[]]> tag, and I want to avoid this.
In short, SOAP Response gave me this:
<MessageContent xmlns=""><![CDATA[<DataSourceResponse>blah..blah..blah..</DataSourceResponse>]]></MessageContent>
But what I want in the SOAP response is this (without the CData enclosure):
<MessageContent xmlns=""><DataSourceResponse>blah..blah..blah..</DataSourceResponse></MessageContent>
I am trying to get attachment from the SAP XI Web Service which is returning the following soap response..
--SAP_db9e7598-e284-11df-9fcf-001125a6de68_END
I try like this...
<script type="text/javascript" src="Scripts/jquery.min.js"></script>
my sp return resultset with different column names based on different parameters passed to sp and now i want to show that data in asp.net(c#) gridview so how can i achieve this
View 1 RepliesI have a WCF Service that I have boiled down to next to nothing because of this error. It is driving me up the wall. Here's what I have now.
A very simple WCF service with one method that returns a string with the value, "test".
A very simple Web app that uses the service and puts the value of the string into a label.
A web server running IIS 6 on Win 2003 with a SSL certificate.
Other WCF services on the same server that work. I publish the WCF service to it's https location I run the web app in debug mode in VS and it works perfectly. I publish the web app to it's https location on the same server the WCF service resides under the same SSL certificate I get, "The remote server returned an error: (403) Forbidden" I have changed almost every setting in IIS as well as the WCF and Web apps to no avail. I have compared setting in the WCF services that work and everything is the same.
Below are the setting in the web.config for the WCF Service and the WEB app: It appears the problem has to do with the Web app but I am out of ideas.
WCF Service:
<system.serviceModel>
<bindings>
<client />
<services>
<service behaviorConfiguration="Ucf.Smtp.Wcf.SmtpServiceBehavior" name="Ucf.Smtp.Wcf.SmtpService">
<host>
<baseAddresses>
<add baseAddress="[|URL]" />
</baseAddresses>
</host>
<endpoint address="" binding="wsHttpBinding" contract="Ucf.Smtp.Wcf.ISmtpService" bindingConfiguration="SSLBinding">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="Ucf.Smtp.Wcf.SmtpServiceBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" httpsHelpPageEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
Web App:
<system.serviceModel>
<bindings><wsHttpBinding>
<binding name="WSHttpBinding_ISmtpService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"
textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="Windows" negotiateServiceCredential="true"
establishSecurityContext="true" />
</security>
</binding>
<client>
<endpoint address="[URL]"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ISmtpService"
contract="SmtpService.ISmtpService" name="WSHttpBinding_ISmtpService">
<identity>
<dns value="localhost" />
</identity>
</client>
</system.serviceModel>
using asp.net/vb.net 2005
In the aspx page I have the EmptyDataText property set
[Code]....
However when no records are not returned I am not seeing the text "No Results Returned" I am populating the gridview using a SqlDataSource. I am not sure why this is happening but thinking about setting the value programmatically, does this make sense and if yes which gridview event should I do this? has anyone else experienced something like this before?
I am working on creating a stored procedure that will output a pivot table. In the pivot table will be either the string NULL or a number. How can I reformat this in ASP.NET so the NULL value becomes a blank cell in the gridview and the number (whatever it is) becomes an 'X' ?
View 3 RepliesI need to format this date time into the format Day/Month/Year on the same template field.
I am avoiding doing this under SQL server because that will mean changing my data type in my dataset to string instead of data time which i do not want.
<asp:TemplateField HeaderText="Publish Date" SortExpression="PublishDate">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("PublishDate") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("PublishDate") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
I'm new to ASP.NET so I apologize if this is a basic question.
I have a Web application. This web application has a ListView on it. From this web app I make calls to a web service which returns data from a database. I return the data from the web service using the following format:
[code]...
Now I would like from the Web Application to show the data on a listview. Is there a way of doing this by using the Data Source property of the Listview or the only way is to populate the listview manually?
Markup:
<asp:GridView ID="GridView1" runat="Server">
<Columns>
<asp:BoundField DataField="status_column" HeaderText="Status" />
<asp:BoundField ...
<asp:BoundField ...
</Columns>
</asp:GridView>
Code:
GridView1.DataSource = _dataSet
DataBind()
The values stored in my database are integers, 1 - 9. Each value has an associated string value that I want displayed in my GridView. Ex: 1 = "Active"; 2 = "On Hold"; etc. How would I filter the incoming data so I can display the associated String value instead of the Integers from my table?
How to bind a dropdown using wcf service..
View 1 RepliesI have a Gridview and on the OnRowCommand of that GridView I want to Bind the data for another Gridview, but everytime I do that nothing gets bound to the Second Gridview.
View 3 RepliesWhen a user submits the query to SQL when clicking a button I need to get a count of the number of rows that are returned. Which event does the gridview.count code need to be place in?
Right now I have it in the btn_click event, but in order to get it to count the rows you have to hit the button twice since the query is not returned yet. Here is my code.
[Code]....
I have a gridview and would like to display one of 5 icons depending on the value returned from the database for that row (simply just A, B, C, D or E). Which event in my datagrid should I be looking at to check what value I'm getting? I presume once I can check a value I can simply set an image source using if statements?
View 4 RepliesI use these code to my datalist pagination [URL] ....
In my page i have 2 datalist with 2 different StoreProce and i have 2 button
I put these code for my button
protected void Imgbtn1_Click(object sender, ImageClickEventArgs e)
{
DataList1.Visible = true;
DataList2.Visible = false;
}
AND
protected void Imglastpro_Click(object sender, ImageClickEventArgs e)
{
DataList2.Visible = true;
DataList1.Visible = false;
}
In whole when datalist1 is show on page datalis2.visible=false
Now I want use pagination for both of them but i dont know how i can do it? I just use pagination for datalist1 how i can do for my second datalist. I use this SP for my datalist 1
ALTER procedure [dbo].[GetCustomersPageWise]
@PageIndex INT = 1
,@PageSize INT = 5
,@RecordCount INT OUTPUT
[Code]....
And for my datalist2 i need these column
select Name,Description,Image,Address
from House_info
How i can do it?
bind dropdown inside gridview?
[Code]....
bind this xml to the gridview.The requirement being:1) Display Item_Name, Item_ID, Item_SCode, Product_Info 2) Product_Info child nodes have be to visible under the GriddetailsView.I have my code snippet below:correct my code:
[Code]....
The xml is shown below:
[Code]....
This is my code:
[Code]....
This is my connection string for the XLS:
[Code]....
The error returns on line 30:
oleda.Fill(ds, "Email");
What should i write in place of "Email" ?Is the connection string correct ?
What if i want to Bind the entire XLS file to the Gridview, instead of just the column Email ?