2012-05-09 10 views
0

以前.NET 2.0でこのコードを使用していましたが、これは長時間よく実行されています。私は4.0がこれと何か関係があるのか​​どうかはわかりませんが、出力を説明することはできません。私はこのコードを、それを下に蒸留しました:Dataview RowFilterが.NET 4.0のキャッシュデータセットを変更しています

Sub page_prerender(s As Object, e As EventArgs) 
    cache_list() 
    Dim dstar As DataSet = Cache("dstallarchives") 
    Dim viewar As DataView = dstar.Tables("archive").DefaultView 

    Response.Write(viewar.Count & "<br/>") 'output 891 
    viewar.RowFilter = "customerid=25" 
    Response.Write(viewar.Count & "<br/>") 'output 52 

    'clear the dataview, create it fresh from the cache 
    viewar = New DataView 
    viewar = Cache("dstallarchives").tables("archive").defaultview 
    Response.Write(viewar.Count) 'output 52??? 
End Sub 

Cache_listは891件のレコードを持つデータセット内のテーブルを挿入します。 52の顧客IDは25です。あなたは通常、その中間のdstarデータセットを作成しませんが、キャッシュオブジェクトから直接dataviewを作成しません。しかし今、出力は私にはあまり意味がありません。私のラップトップが3話落ちる前に助けてください。

答えて

0

私はまだ前者のコードがそのように動作した理由はまだ分かりませんが、問題の解決策を見つけました。 DataViewのを宣言すると、フルコンストラクタを使用します。誰かが私にこれを説明することができれば

viewarchive = New DataView(Cache("dstallarchives").tables("archive"), "", "", DataViewRowState.CurrentRows) 

、私はまだそれを聞いてみたいです!

関連する問題