2012-01-31 16 views
0

DataSetを操作する際に問題があります。テーブル内のレコード全体を取得せずに行をフィルタリングするにはどうすればよいですか。ここDataSetを操作する方法

は私のコードです:

For j As Integer = 0 To sDataSet.Tables(tran_ar_so_t.Name).Rows.Count - 1 
     Dim nQty, nPrice, nAmount As Double 
     With sDataSet.Tables(tran_ar_so_t.Name) 
      nQty = IIf(.Rows(j).Item("nQty") Is DBNull.Value, 0, .Rows(j).Item("nQty")) : nPrice = IIf(.Rows(j).Item("nPrice") Is DBNull.Value, 0, .Rows(j).Item("nPrice")) 
      ComputeNet(j) 
      nAmount = net * nQty 
      .Rows(j).Item("nAmountDue") = nAmount 
     End With 
    Next 
+0

私は質問を理解できず、そのコードが質問にどのように関係しているのか分かりません。何が起こっているのか、何が起こりたいのかを例に挙げることができますか? –

答えて

0

たぶんDataTable.Select()メソッドは、あなたの問題を解決することができます。この例を確認してください。

Dim filterCondition As String = "nQty > 10" 'A where statement you need 
    Dim filteredRows As DataRow() = sDataSet.Tables(tran_ar_so_t.Name).Select(filterCondition) 

はその後filteredRowsにあなたが与えられた条件に一致するだけのDataRowを見つけることができます、あなたのフィルタ条件と「nQty> 0」を置き換えます。