2013-03-15 144 views
0

我有一個datagridview控件,使用名爲m_DeletedItemsDT的DataTable顯示來自我的SQL Server數據庫的數據。動態過濾DataGridView控件

以上電網我有兩個datatimepicker控制,以便用戶可以選擇一個開始和結束日期,然後單擊從數據庫得到一個過濾數據集,使用下面的查詢刷新電網cmdFilterData:

"SELECT * FROM ReturnUnpaidData_Audit WHERE [AuditDateTime]<='" & Me.dtpEndDate.Value.ToString("yyyy-MM-dd") & "' AND [AuditDateTime]>='" & Me.dtpStartDate.Value.ToString("yyyy-MM-dd") & "'" 

我想是什麼,而不是另一種往返於數據庫中,濾波,對電網發生,或者在被稱爲m_DeletedItemsDT,並在表格/類級別聲明的數據表..

我試着找在Filter DataGridView with the text entered in TextBox in WinForms 但它不是reall Ÿ我需要什麼。

回答

1

我的工作了一個小試驗和錯誤:

Dim dv As New System.Data.DataView 

dv.Table = m_DeletedItemsDT 
' "Server like '%" + textBox1.Text + "%'"; 
dv.RowFilter = "[AuditDateTime]<='" & Me.dtpEndDate.Value.ToString("yyyy-MM-dd") & "' AND [AuditDateTime]>='" & Me.dtpStartDate.Value.ToString("yyyy-MM-dd") & "'" 
dgvDeletedRecords.DataSource = dv 

,並在cmdClearFilter按鈕的情況下,我只是做了如下:

Dim dv As New System.Data.DataView 

    Me.chkAUtoDates.Checked = False 
    '  Call m_GetData() 
    With dv 
     .Table = m_DeletedItemsDT 
     .RowFilter = "" 
    End With 

    dgvDeletedRecords.DataSource = dv 

菲利普