2013-03-15 141 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 

菲利普