Reputation: 229
I have dataset like
<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>
How to get datarows in dataset with SALES_DO_INDEPENDENT_ID = 11 i mean result
<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>
Thanks in Advance
Regards, Yusan Susandi.
Upvotes: 0
Views: 1571
Reputation: 27322
You could create a dataview from your datatable and filter that:
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
Upvotes: 0
Reputation: 4754
You can also use XPaths. One way is via XPathNavigator
:
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
}
Another way is using XmlNode.SelectSingleNode()
:
root.SelectSingleNode("/DATASET/SALES_DO_INDEPENDENT[SALES_DO_INDEPENDENT_ID=11]");
Upvotes: 1
Reputation: 28530
Try this:
Dim selectedRows As DataRow() = yourDataSet.Tables(0).Select("SALES_DO_INDEPENDENT_ID = 11")
Note the Select
method operates against DataTable, not DataSet. This examples assume a normal DataSet/DataTable per good old ADO.NET.
Upvotes: 0