2012-03-14 7 views
0

私はVB.NETでカスタム検索コントロールを構築していて、別のレコードを自分のDataGridviewに取得する際に問題が発生しました。私は若干の違いが同じテーブルで同じクエリの2を実行するので、私は正確に持って帰りたいと思うVB.NET VS2005でDefaultView.ToTableを使用して、データテーブルから個別レコードを取得できません。

は、最初のバック一致した:私は私から個別のレコードを取得する必要があるというデータテーブルを持っている

select ... like "code%" 
select ... like "%code%" 

。私はSQLクエリのレコードをデータテーブルの最後に追加するので、sqlのユニオンを使用してデータセットを返すことはできません(行が追加される順序を保持したい)

私はこれを使用しています2つのフィールドの細かい作業:

dt2 = dt.DefaultView.ToTable(True, "Code", "Name") 

しかし、私は3(またはそれ以上)のフィールドを持っているとき、私は私が照会していた行の重複を取得:

dt2 = dt.DefaultView.ToTable(True, "Code", "Name", "Initial") 

select ... like "initial%" 
select ... like "%intial%" 

私は再構築する前にdatagridview.sourceをクリアしていますこの。

このように異なる行を取得する方法はありますか、新しいテーブルに追加する前に、2番目のデータテーブルから重複を削除するために何か自分で構築する必要がありますか?

+0

私は1つの重複レコードを削除するための簡単な回避策を構築しました。 3つ以上のフィールドがある場合、なぜdt.DefaultView.ToTableが機能しないのか分かりません。 – Eric

答えて

0

datatable.DefaultView.ToTableにバグがあると思います。それは、2つ以上の列を持つデータ型に絞り込んだためです。

関連する問題