0

列に同じデータを持つすべての行を検索する datagridview のすべての行をループする方法はありますか...

例: DGV1 には列がありますID, TransID, Name, Desc

その DGV に 3 つの行があるとします。

2行が同じTransID = 1

最後の行にはTransID = 2.

私のTextbox1iでは「2」と入力してボタンを押します。

DGV1 をループして、テキスト ボックスに入力したものと同じ TransID を持つすべての行を検索し、それらのデータを別の形式で DGV2 にコピーしたい...

以前に質問しましたが、誰も助けてくれないようでした。本当に助けが必要です...私の苦境についてもっと理解するには、以前の質問へのリンクがあります...

datagridview 1 をループし、ループ結果を別のフォームと DB テーブルで datagridview2 にコピーする方法


@HaBouFこれが私があなたのコードから行ったことです。今、私はDGVをフィルタリングすることができました

データベース名はtestDGV1(Form1)testedのテーブル名、DGV2(Form2) のテーブル名はtesting

コード

Dim ta As New testDataSetTableAdapters.testedTableAdapter Dim f2 As New Form2

      dv.Table = TestDataSet.tested
      dv.RowFilter = "TransID LIKE '%" & TextBox1.Text & "%'"
      f2.DGV2.DataSource = dv
      f2.Show()

このコードはデータをフィルター処理して表示しますが、DGV2のデータソースを置き換えるため、DGV2DGV2 の既存のデータは一時的に削除さtesting(DGV2)DGV2 ますDatabase。を追加するだけでRefresh button、 のデータソースを にDGV2戻すことができましたtesting

4

1 に答える 1

1

これを試してみてください: データテーブル (dtOriginalData) があり、データを入力してから実行すると想像しました:

dgv1.DataSource=dtOriginalData

必要なのは、これらのデータをフィルタリングすることです。

dtOriginalData.DefaultView.RowFilter = "TransID = " & textToFilter.Text

Dim MyNewTable As DataTable = dt.DefaultView.ToTable

ここで必要なのは、新しいフォームを開いて、フィルター処理されたデータを提供することです。

dim f2 as new Form2
f2.DGV2.DataSource=MyNewTable
f2.Show

form2 が既に開いていて、それを更新したい場合は可能です。

コードとして表示し、達成したいことをより適切に説明していただければ、より多くのことをお手伝いできます。

于 2012-11-20T09:31:05.310 に答える