2013-01-02 128 views
6

我創建了一個返回兩個數據集(返回類型)作爲結果的web服務。 是否可以將兩個數據集結果合併爲一個,以便我可以將其顯示在一個數據列表上?我嘗試使用arraylist,但它在datalist中不返回任何內容。將數據集的兩個結果合併爲一個

GetDepartureFlightsDetails()getDepartureFlights()都返回數據集值。

下面是我用來檢索webservice結果的方法。

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

FredHomme你的數組的聲明更改爲類似此ArrayList arList =新的ArrayList();應該會使它更容易和更易讀關於你的返回數組不會被混淆爲數組與返回類型是類型ArrayList只是一個建議 – MethodMan

+0

好的。對不起,命名錯誤。 – 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 = new DataSet(); 那麼? – FredHomme

0

你不能讓一個包裝類,並使用包裝類的List<>, 而非Datasets

相關問題