簡體   English   中英

Datagridview數值過濾器-.net

[英]Datagridview Numeric Filter - .net

我正在嘗試基於稱為“ Op No#”的列來過濾數據網格。 當有人在文本框中輸入一個值時,我建立了一個包含過濾器的字符串,然后將其應用於數據網格(我已經忽略了該部分,因為它與我嘗試過的其他文本字段一起使用)。

我遇到的問題是,當我在文本框中輸入數字並應用過濾器時,它不會返回任何結果,並且我也看不到任何原因。 任何幫助將不勝感激。

    If MainView.TextBox2.Text <> "" Then
        If MainView.FilterCount = 0 Then
            MainView.FilterStr = "'*[Op No#]*' like '%" & MainView.TextBox2.Text & "%'" : MainView.FilterCount = MainView.FilterCount + 1
        Else
            MainView.FilterStr = MainView.FilterStr & "and" & "'*[Op No#]*' like '%" & Convert.ToInt32(MainView.TextBox2.Text) & "%'" : MainView.FilterCount = MainView.FilterCount + 1
        End If
    End If

從我所看到的,您的主過濾器字符串是錯誤的...對此進行更改

"'*[Op No#]*' like '%" & MainView.TextBox2.Text & "%'" 

為此...僅適用於數字...

 "Column name = " & MainView.TextBox2.Text

另一個例子...

 DataView.RowFilter = "Year = 2008"

您的過濾器語法是錯誤的,並且您正在對整數執行類似操作……您將其包裝在刻度和百分號中……不要這樣做。

在您的專欄后面也有一個磅符號,這很好,只需確保像您一樣將其包裹在方括號中,我沒有顯示出來。

字符串值用單引號''引起來。 如果字符串包含單引號',則引號必須加倍。 數字值不包含在任何字符中。 該值應與不變或英語區域性的int.ToString()或float.ToString()方法的結果相同。

這是更多信息... http://www.csharp-examples.net/dataview-rowfilter/

希望這可以幫助...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM