C#中对DataGridView列表中的数据进行查询并定位

遇到一个业务需求,就是查询数据,并将用户需要的数据展示在C#的Windows窗体的的DataGridView中。数据添加比较容易,但是发现数据添加过后,由于数据量比较大,有时候向查询一条数据需要上下翻查很久,不利于用户的使用体验,于是便想到使用查询功能。

首先,要在窗体上添加一个TextBox,用于存放用户输入的内容,为这个TextBox取名为textBox1

第二步,需要定义键盘事件,即输入内容过后,按回车键即可完成查询定位;需要在窗体所对应的Designer.cs中找到存放名为textBox1的TextBox区域,在里面添加KeyDown事件,如下图片所示

C#中对DataGridView列表中的数据进行查询并定位_第1张图片

第三步,在页面代码中添加KeyDown方法

 private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            DataTable rentTable = (DataTable)dataGridView1.DataSource;//获取数据源
            if (e.KeyValue == 13)
            {
                int r;
                if (int.TryParse(textBox1.Text, out r))
                {
                    for (int i = 0; i < rentTable.Rows.Count; i++)
                    {
                        if (rentTable.Rows[i]["bikeId"].ToString() == textBox1.Text)
                        {
                            dataGridView1.Rows[i].Selected = true;
                            dataGridView1.FirstDisplayedScrollingRowIndex = i;
                            return;
                        }
                    }
                    MessageBox.Show("站点不存在!", "提示");
                }
                else
                    MessageBox.Show("请输入站点编号!", "提示");
            }
        }

这样在textBox1中输入查询信息并回车,就会跳转到所查询的内容项,功能完成。

你可能感兴趣的:(C#)