簡體   English   中英

使用文本框和按鈕的C#Datagridview過濾器

[英]C# Datagridview filter using textbox and button

我想使用click事件過濾我的datagridview,我正在使用以下代碼:

BindingSource bs = new BindingSource();
        bs.DataSource = dataGridView3.DataSource;
        bs.Filter = dataGridView3.Columns[0].HeaderText.ToString() + " LIKE '%" + textBox1.Text + "%'";
        dataGridView3.DataSource = bs;

這適用於我的其他datagridviews,但顯示此datagridview3錯誤: Cannot perform 'Like' operation on System.Int32 and System.String

這是屏幕快照中的datagridview3,顯示了它持有的數據:

我想您必須將從textBox1.Text獲得的值轉換為數字。 第一列中的數據為數字,並且不支持此比較文本( string )與數字值的比較。

以下是一些轉換為整數值的方法:

int anInteger;
anInteger = Convert.ToInt32(textBox1.Text);
anInteger = int.Parse(textBox1.Text);

成功轉換之后,您可以修改代碼並嘗試查看其是否能以這種方式工作:

BindingSource bs = new BindingSource();
        bs.DataSource = dataGridView3.DataSource;
        bs.Filter = dataGridView3.Columns[0].HeaderText.ToString() + " LIKE '%" + Convert.ToInt32(textBox1.Text) + "%'";
        dataGridView3.DataSource = bs;

注意 :點擊課程的搜索按鈕之前,請務必檢查用戶是否輸入了有效的號碼。 否則,您仍然會收到一個錯誤,提示您無法將值解析/轉換為數字。

希望所有這些對您有所幫助。

暫無
暫無

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

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