2013-01-02 30 views
6

結果として2つのデータセット(戻り値の型)を返すWebサービスを作成しました。 2つのデータセットの結果を1つにまとめて、1つのデータリストに表示できますか? arraylistを試してみましたが、datalistには何も返しません。データセットの2つの結果を1つにまとめる

GetDepartureFlightsDetails()およびgetDepartureFlights()は両方ともデータセット値を返します。

以下は、私がWebサービスの結果を取得するために使用する方法です。

public ArrayList GetDepartureFlightsDetails(String departurecountry, String arrivalcountry, DateTime departuredate) 
{ 
    DLSA datalayerTS = new DLSA(); 
    DLJS datalayerJW = new DLJS(); 

    ArrayList array = new ArrayList(); 

    array.Add(datalayerSA.GetDepartureFlightsDetails(departurecountry, arrivalcountry, departuredate)); 
    array.Add(datalayerJW.getDepartureFlights(departurecountry, arrivalcountry, departuredate)); 
    return array; 
} 
+0

は(このArrayListのarList =新しいArrayListのようなものに、配列のあなたの宣言を変更FredHomme)。あなたのリターン配列が混乱しないように、それを簡単に、より読みやすくする必要があります。Arrayと返される型ArrayListの型だけの提案 – MethodMan

+0

Ok。間違った名前をつけて申し訳ありません。 – FredHomme

+0

ちょうど提案FredHomme – MethodMan

答えて

10

あなたがDataSet.Mergeメソッドを使用することができます。

firstDataSet.Merge(secondDataSet); 

更新:

public DataSet GetDepartureFlightsDetails(String departurecountry, String arrivalcountry, DateTime departuredate) 
{ 
    DLSA datalayerTS = new DLSA(); 
    DLJS datalayerJW = new DLJS(); 

    var firstDataSet = datalayerSA.GetDepartureFlightsDetails(departurecountry, arrivalcountry, departuredate)); 
    var secondDataSet = datalayerJW.getDepartureFlights(departurecountry, arrivalcountry, departuredate)); 
    firstDataSet.Merge(secondDataSet); 

    return firstDataSet; 
} 
+1

+1。それは私が覚えようとしていたものです! :) –

+0

マージ時に新しいデータテーブルの重複する行について注意してください。 – sajanyamaha

+0

データセットの結果をデータセットに追加するにはどうすればよいですか? DataSet first =新しいDataSet(); それから? – FredHomme

0

あなたはラッパークラスを作成し、Datasetsではなく、ラッパークラスのList<>、 を使用することはできません。

関連する問題