如何在C#中使用文本框和按钮单击来过滤datagridview?

时间:2018-07-29 09:53:23

标签: c# datagridview textbox

我想过滤我的dataGridView(按月出生的生日),以单击带有文本框的按钮。

如果我在文本框中输入数字5,那么我将显示从月份行开始包含数字5的行。

var dataTable = (DataTable)DataGridView2.DataSource;
var dataView = dataTable.DefaultView;
dataView.RowFilter = string.Format("Month", birthdayMonth.Text);
DataGridView2.SelectionMode = DataGridViewSelectionMode.FullRowSelect;   
DataGridView2.Rows[0].Selected = true;

1 个答案:

答案 0 :(得分:0)

使用文本框和两个不带数据库的DataGridView过滤DataGridView

  1. 确保添加2个DataGridViews
  2. 实施.csv阅读器
  3. 放入文本框
  4. 正确命名(文本框,2 dgv)

在第一个DataGridview中创建更改的选择 第一个DataGridView的事件。

我使用了this 方法:

if (this.dgv2.DataSource != null)

  •   

    this.dgv2.DataSource = null;

else

  •   

    this.dgv2.Rows.Clear();

for (int i = 0; i < dgv1.SelectedRows.Count; i++)

  •   

    int index = dgv2.Rows.Add();

然后,您可以插入所需的行,例如:

  •   

    dgv2.Rows [index] .Cells [“ to”]。Value = dgv1.SelectedRows [i] .Cells [“ from”]。Value.ToString();

在为第一个DataGridView创建Selection Changed事件之后,我们创建了一个基于文本的搜索,可以通过foreach循环进行。

示例: foreach (DataGridViewRow row in dgv.Rows)

然后使用ifelse方法

赞:

if ((string)row.Cells["from"].Value == textbox.Text)

发表声明:

  •   

    row.Selected = false;

  •   

    row.Visible = true;

else

  •   

    row.Selected = false;

  •   

    row.Visible = false;

享受! :)