2011-08-01 7 views
0

私は私が事前にデータセットのデータローをフィルタリングする方法は?

<DATASET> 
    <SALES_DO_INDEPENDENT> 
    <SALES_DO_INDEPENDENT_ID>11</SALES_DO_INDEPENDENT_ID> 
    <DO_CODE>1234</DO_CODE> 
    <SALES_DO_STATUS_ID>1</SALES_DO_STATUS_ID> 
    <COM_CUSTOMER_ID>1</COM_CUSTOMER_ID> 
    <COM_PRODUCT_ID>9</COM_PRODUCT_ID> 
    <COM_TRANSPORT_COMPANY_ID>8</COM_TRANSPORT_COMPANY_ID> 
    <SHIPPING_DATE>28/07/2011 0:00:00</SHIPPING_DATE> 
    <SHIPPING_ADDRESS>SS</SHIPPING_ADDRESS> 
    <DO_DESCR>SS</DO_DESCR> 
    <TRANSPORT_LICENSE_CODE>123</TRANSPORT_LICENSE_CODE> 
    <COM_USER_ID>1</COM_USER_ID> 
    <IS_SYNCHRONIZED>False</IS_SYNCHRONIZED> 
    <IS_SAMPLE>False</IS_SAMPLE> 
    <COM_WAREHOUSE_ID>3</COM_WAREHOUSE_ID> 
    </SALES_DO_INDEPENDENT> 
</DATASET> 

おかげ

よろしく、 Yusan Susandiの結果と意味どのように= 11 SALES_DO_INDEPENDENT_IDとデータセット内のデータローを取得する

<DATASET> 
    <SALES_DO_INDEPENDENT> 
     <SALES_DO_INDEPENDENT_ID>22</SALES_DO_INDEPENDENT_ID> 
     <DO_CODE>1234</DO_CODE> 
     <SALES_DO_STATUS_ID>1</SALES_DO_STATUS_ID> 
     <COM_CUSTOMER_ID>1</COM_CUSTOMER_ID> 
     <COM_PRODUCT_ID>9</COM_PRODUCT_ID> 
     <COM_TRANSPORT_COMPANY_ID>8</COM_TRANSPORT_COMPANY_ID> 
     <SHIPPING_DATE>28/07/2011 0:00:00</SHIPPING_DATE> 
     <SHIPPING_ADDRESS>SS</SHIPPING_ADDRESS> 
     <DO_DESCR>SS</DO_DESCR> 
     <TRANSPORT_LICENSE_CODE>123</TRANSPORT_LICENSE_CODE> 
     <COM_USER_ID>1</COM_USER_ID> 
     <IS_SYNCHRONIZED>False</IS_SYNCHRONIZED> 
     <IS_SAMPLE>False</IS_SAMPLE> 
     <COM_WAREHOUSE_ID>3</COM_WAREHOUSE_ID> 
     </SALES_DO_INDEPENDENT> 

     <SALES_DO_INDEPENDENT> 
     <SALES_DO_INDEPENDENT_ID>11</SALES_DO_INDEPENDENT_ID> 
     <DO_CODE>1234</DO_CODE> 
     <SALES_DO_STATUS_ID>1</SALES_DO_STATUS_ID> 
     <COM_CUSTOMER_ID>1</COM_CUSTOMER_ID> 
     <COM_PRODUCT_ID>9</COM_PRODUCT_ID> 
     <COM_TRANSPORT_COMPANY_ID>8</COM_TRANSPORT_COMPANY_ID> 
     <SHIPPING_DATE>28/07/2011 0:00:00</SHIPPING_DATE> 
     <SHIPPING_ADDRESS>SS</SHIPPING_ADDRESS> 
     <DO_DESCR>SS</DO_DESCR> 
     <TRANSPORT_LICENSE_CODE>123</TRANSPORT_LICENSE_CODE> 
     <COM_USER_ID>1</COM_USER_ID> 
     <IS_SYNCHRONIZED>False</IS_SYNCHRONIZED> 
     <IS_SAMPLE>False</IS_SAMPLE> 
     <COM_WAREHOUSE_ID>3</COM_WAREHOUSE_ID> 
     </SALES_DO_INDEPENDENT> 
    </DATASET> 

のようなデータセットを持っています。 Select方法はDataTableのではなく、データセットに対して動作

Dim selectedRows As DataRow() = yourDataSet.Tables(0).Select("SALES_DO_INDEPENDENT_ID = 11") 

注:

+0

をこれは私には少し奇妙に見える一つの方法は、XPathNavigator経由で通常は、データセット内に*テーブル*があり、テーブル内に* rows *があるためです。これは通常のADO.NET DataSetですか、それとも独自の組み合わせですか? –

答えて

0

はこれを試してみてください。この例では、正常なADO.NETごとに通常のDataSet/DataTableを想定しています。

1

また、XPathを使用することができます。もう一つの方法は、XmlNode.SelectSingleNode()を使用している

XPathNavigator xpath = xmlDoc.CreateNavigator(); 

XPathNodeIterator xiter = xpath.Select("/DATASET/SALES_DO_INDEPENDENT[SALES_DO_INDEPENDENT_ID=11]"); 

while (xiter.MoveNext()) 
{ 
    // do something with the values 
} 

root.SelectSingleNode("/DATASET/SALES_DO_INDEPENDENT[SALES_DO_INDEPENDENT_ID=11]"); 
0

あなたのデータテーブルからdataviewを作成して、それをフィルタリングすることができます:

Dim dv As New DataView(dt) 
dv.RowFilter = "SALES_DO_INDEPENDENT_ID = 11" 
For r As Integer = 0 To dv.Count - 1 
    Debug.WriteLine(dv(r).Item("DO_CODE").ToString) 'etc 
Next 
関連する問題