【问题标题】:Search in dataGridView with textBox_TextChanged使用 textBox_TextChanged 在 dataGridView 中搜索
【发布时间】:2019-01-13 17:03:24
【问题描述】:

我想在 dataGridView 中进行搜索。我拿出我的数据:

private void button1_Click(object sender, EventArgs e)
        {
            FileStream f1 = new FileStream("zapis.dat", FileMode.Open);
            BinaryReader br = new BinaryReader(f1);
            int а = 0;
            while (f1.Position < f1.Length)
            {
                string data = br.ReadString();
                string sing = br.ReadString();
                string avtor = br.ReadString();
                string zagl = br.ReadString();
                string janr = br.ReadString();
                string ezik = br.ReadString();
                dataGridView1.Rows.Add(++а, sing, avtor, zagl, janr, ezik, data);
            }
            f1.Close();
        }

我使用的搜索:

private void textBox1_TextChanged(object sender, EventArgs e)
    {
        (dataGridView1.DataSource as DataTable).DefaultView.RowFilter =
string.Format("Name LIKE '{0}%' OR Name LIKE '% {0}%'", textBox1.Text);


    }

当我在 texhtBox 中写作时,这让我误会了:

System.NullReferenceException: '对象引用未设置为 对象的实例。'

(... as System.Data.DataTable) 返回 null。

有人能帮帮我吗?如何做到这一点?

【问题讨论】:

  • DataSource 可能不是DataTable

标签: c# winforms search datagridview textbox


【解决方案1】:

首先你需要将DataTable声明为一个对象,然后ue DefaultView。 例如

            DataTable dt = tDAL.Search(keyword);
        dgvTalents.ItemsSource = dt.DefaultView;

tDAL 是我的仓库中的一种方法,它有一个查询。

【讨论】:

    猜你喜欢
    • 2014-12-05
    • 2011-12-01
    • 2018-06-23
    • 2023-03-14
    • 2011-09-06
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多