![]() |
Webservice Daten in ein Datagrid bekommen
Ich übe gerade etwas mit Webservices und habe mir diesen hier vorgenommen:
![]() Er beinhaltet eine Liste von Restaurants. Gibt es da irgendwie eine Möglichkeit alle Restaurants mit ihren Eigenschaften einfach in ein DataGrid zu stopfen? Ungefähr so:
Code:
Der Code funktioniert allerdings nicht, das DatenGrid bleibt leer. ;)
RestaurantServiceService rs = new RestaurantServiceService();
dataGridView1.DataSource = rs.getRestaurants(); |
Re: Webservice Daten in ein Datagrid bekommen
Nachtrag:
Code:
Wenn ich es so mache, habe ich schon mal 68 Zeilen im Grid und so viele Restaurants sind es auch. Nur sit das Grid leider leer. :gruebel:
private void btnGetReastaurants_Click(object sender, EventArgs e)
{ dataGridView1.ColumnCount = 2; dataGridView1.DataSource = restaurantServiceService1.getRestaurants(); } Der Versuch das ganze in eine IList<Restaurant> ls = restaurantServiceService1.getRestaurants(); ist auch fehlgeschlagen mit der Fehlermeldung Zitat:
|
Re: Webservice Daten in ein Datagrid bekommen
Welchen Datentyp liefert die Methode getRestaurants() denn zurück?
|
Re: Webservice Daten in ein Datagrid bekommen
Ja, das wüßte ich auch mal gerne. Wenn ich das richtig sehe:
XML-Code:
Ist das vom Typ soapenc:Array, was auch immer das ist.
<wsdl:message name="getRestaurantsRequest">
</wsdl:message> − <wsdl:message name="getRestaurantsResponse"> <wsdl:part name="getRestaurantsReturn" type="soapenc:Array"/> </wsdl:message> ... <wsdl:operation name="getRestaurants"> <wsdl:input name="getRestaurantsRequest" message="impl:getRestaurantsRequest"/> <wsdl:output name="getRestaurantsResponse" message="impl:getRestaurantsResponse"/> </wsdl:operation> |
Re: Webservice Daten in ein Datagrid bekommen
Hey Luckie,
hab mir interessehalber den Webservice mal genauer angesehn. So wie's aussieht beinhaltet jedes object in dem object-array dass du mit "getRestaurants()" bekommst nochmal ein Array von XmlNodes. Hab das testweise mal mit ner ListBox ausprobiert, ich poste dir hier mal meinen Code. Sollte ja für dich keine Schwierigkeit sein das in ein DataGridView zu übertragen :wink:
Code:
Hoffe du kannst damit was anfangenprivate void btnGetRestaurants_Click(object sender, EventArgs e) { RestaurantService.RestaurantServiceService rs = new WindowsApplication1.RestaurantService.RestaurantServiceService(); object[] restaurants = rs.getRestaurants(); for(int i = 0; i < restaurants.Length; i++) { XmlNode[] nodes = (XmlNode[])restaurants[i]; for(int j = 0; j < nodes.Length; j++) listBox1.Items.Add(nodes[j].InnerText); } } |
Re: Webservice Daten in ein Datagrid bekommen
Ah. dann geht es wohl doch nicht so einfach, wie ich es dachte. Ich werde mir das morgen mal genauer angucken, jetzt ist erstmal Feierabend. ;)
|
Re: Webservice Daten in ein Datagrid bekommen
Hm, zu Huase mit Delphi 2006 bekomme ich immer diese Fehlermeldung:
Zitat:
|
Re: Webservice Daten in ein Datagrid bekommen
Die gleiche Fehlermeldung bekam ich beim Visual Studio 2003 auch, mit der 2005er Version gings.
Ich vermute mal dass der Webservice nur zum 2.0er .NET Framework kompatibel ist, zumindest kann ich mir das nicht anders erklären. Wenn du dich nen bissl in C# einarbeiten willst, würd ich dir sowieso eher zur Express-Version vom VS 2005 raten, oder alternativ #develop 2.0 |
Re: Webservice Daten in ein Datagrid bekommen
Nun ja, an der Arbeit habe ich das VS 2005, aber zu Hause eben nicht. aber mal sehen, was ich da morgen an der Arbeit draus mache. Es wäre aber schön, wenn man das irgendwie elegant in den DataGridView bekommen könnte. Sonst ist das Ding doch immer so schlau. :gruebel:
|
Re: Webservice Daten in ein Datagrid bekommen
Das WSDL ist falsch. Es validiert nicht gegen das mitgelieferte Schema.
Außerdem sind ein paar Typen krum deklariert. Deshalb vekommst du einen Array of Object statt Restaurant. ;) Entweder du nimmst ein funktionierendes Sample oder du musst das WSDL selbst korrigieren. Die Schemafehler, die dein Studio ausgibt wenn du das WSDL darin öffnest sollten dir dabei helfen können. ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz