0

データグリッドビューを埋めるテーブルAに2013年の期日を持つすべてのレコードを表示するフォームにSqlクエリがあります。また、ボタンとテキストボックスもあります。

私がやりたかったのは、データグリッド ビューでの SQL クエリの結果をフィルター処理することです。次のような別の SQL を持つことは可能ですか?

"SELECT caseno, duedate,remarks from (the data on my datagrid view)"

これは私のデータグリッドのサンプルです:

    caseno      duedate       remarks
    1001        1/12/13       passed
    1002        1/22/13       passed
    1003        1/15/13       failed
    1004        1/20/13       none
    1005        1/06/13       failed

ボタンをクリックすると、テキストボックスに入力したコメントを持つすべてのレコードがデータグリッドに表示されます。誰でも私を助けることができますか?tnx!シンプルにするようにしてください:)

4

4 に答える 4

1

解決策 1:

  1. SQLクエリを選択するようにdatagridviewのデータソースを設定します
  2. テキスト変更イベントが発生した場合にのみデータをバインドする
  3. ボタンクリックイベントでテキストボックスのテキストを検証します

参考:データグリッドビューでレコードをフィルタリングし、選択したレコードをデータグリッドに表示する方法

解決策 2:

テキストボックスにデータが入力されたフィルター DataGridview については、codeproject のこの投稿を確認してください

に入力するパラメータで をDataView使用できることに注意してください。次に、その DataView をofにバインドします。上記のサンプルでは、​​次を使用しています。.RowFiltertextboxRowSourceGridView

dataview.RowFilter = "Year(Duedate) = " + textBox1.Text + ";
dataGridView1.DataSource = dataview;

ここ SO には、他にも多くの記事があります。

于 2013-01-25T04:12:19.323 に答える
0

データビューの行フィルターを使用すると、データをフィルター処理できます

于 2013-01-25T14:12:12.350 に答える
0

コメントをフィルタリングするための select ステートメント:

SELECT caseno, duedate, remarks FROM yourTable name where remarks = '"& txt1.text &"'

コメントのリストで構成されたコンボボックスを作成し、txt1.textをcombobox1.textに置き換えることもできます

それをデータグリッドビューに配置するには:(ボタンイベントで)

    'declare your dataset and adapter
    Dim adapter As MySqlDataAdapter
    Dim ds As New DataSet

Try

        connect()
        adapter = New MySqlDataAdapter("SELECT caseno, duedate, remarks FROM yourTable name where remarks = '"& txt1.text &"'", con)
        adapter.Fill(ds)
        yourdatagridview.DataSource = ds.Tables(0)

 Catch ex As Exception
        MsgBox(ex.Message)
    End Try
    con.Close()
于 2013-01-25T04:52:41.213 に答える
0

BindingSource.Filterはどうですか

 BindingSource.Filter = "caseno Like '" textBox.Text + "%'"
于 2013-01-25T07:57:33.667 に答える