datagridview 绑定的是下面的这个表name 
'aaa'
'bba'
'bbbb'
'bbbbbc  '  我现在在一个TextBox中输入
如输入'b',datagridview被选定的行就是第二行,
若输入'bbb',datagridview就选中第三行,怎么做?急救

解决方案 »

  1.   

    首先获取你TEXTBOX输入的值,然后去绑定的数据源匹配,找到是那条数据后,然后根据主键找到那条记录,设置当前行的焦点为找到记录那条
      

  2.   

    我觉得还是用纯js操作比较好(当然的配合正则表达式)匹配到数据就highlight那行的背景色
      

  3.   

    是windows程序,不是网页的数据集是不变的
      

  4.   


    private void textbox1_TextChanged(object sender,EvertArgs e)
    {
      //取数据源
            DataTable dt = (DataTable)datagridview1.DataSource;
            //找到name与文本内容相匹配的行
            DataRow[] rows = dt.Select("name = '"+ textbox1.Text +"'");
            if (rows.Length > 0)
            {
              int rowIndex = dtTmp.Rows.IndexOf(rows[0]);    //取出行索引
              datagridview1.CurrentCell = datagridview1.Rows[rowIndex].Cells["name"];    //  设置当前行焦点        }
    }
    //========  以上代码需要考虑到DataGridView排序问题!
      

  5.   

    winform程序是最好弄,最简单的.
    直接将dgv.Rows[n].Selected=true就行了
      

  6.   


    怎么让选中行在datagridView 的正中间呢?
      

  7.   


    if(焦点行 = 1,n = 3)
      dgv.Rows[n].Selected = true;   焦点会转移到3上??
      

  8.   

    up9f
    dgv.Rows[i].Selected=true;
    dgv的选择模式为fullrow