日期:2014-05-18  浏览次数:20673 次

datagridview搜索定位的问题!
我的一个winform程序里用了datagridview,通过一个文本框的textchange事件来选择datagridview的某一行,效果如下:

我的datagridview里有一列“code”是隐藏的,textbox的textchange事件触发后,就是将textbox的text与datagridview的code列去对比的,如果相等了,则那行被selected,当时测试时效果是达到了,但是没想到真正用的时候遇到了如下问题:

数据量大了之后,用户输入了正确的code,相应的行是被选中了,但是滚动条却没有自动滚动使被选中行跳到可以看到的地方,需要用户上下拖动滚动条去寻找。请高手帮助!

相关代码如下:
C# code

        private void textBox9_TextChanged(object sender, EventArgs e)
        {
            int i;
            for (i = 0; i < dataGridView1.RowCount; i++)
            {
                if (dataGridView1.Rows[i].Cells[4].Value.ToString().Trim() == textBox9.Text.ToString().Trim())
                {
                    dataGridView1.Rows[i].Selected = true;
                }
                else
                {
                    dataGridView1.Rows[i].Selected = false;
                }
            }
        }



------解决方案--------------------
很少用GridView,一般都用repeater,比较好用,不会生成垃圾代码,建议大家用!嘿嘿!!