数据库里面的数据我已经获取到了,就差在怎么在datagridview里面查找数据了
            SqlConnection con = new SqlConnection(Tools.con);
            SqlDataAdapter cmd = new SqlDataAdapter(cmdStr, con);
            DataSet ys = new DataSet();
            cmd.Fill(ys, "Student");
            dataGridView1.DataSource = ys.Tables["Student"];
以下是我做的程序界面,可以看看。希望朋友们给我一个核心代码,怎么在datagridview里面查询并显示到那一行。

解决方案 »

  1.   

    遍历dataGridView如果 改行的值可以和你的姓名 学校匹配 就停 选中就好了字符串匹配函数可以实现查找的效果
      

  2.   

    //假设“姓名”textBox的名字TextName,是“学号”textBox的名字是TextNum“”,“查找”按钮的名字是
    butnSearch. 
    //在butnSearch中的Click事件中添加如下代码         private void butnSearch_Click(object sender, EventArgs e)
    {
    //连接数据库
    SqlConnection con = new SqlConnection(Tools.con);//设置sql语句,按学号姓名查询。
                 cmdStr="select * from Student where Name='"+TextName.Text+"' or  Num='"+TextNum.Text+"'";
    //读取符合条件的记录
                SqlDataAdapter cmd = new SqlDataAdapter(cmdStr, con);
    //记录放入DataSet对象中
                DataSet ys = new DataSet();
                cmd.Fill(ys);//datagridview 显示 DataSet对象中的表
                dataGridView1.DataSource = ys.Tables[0];
    }
      

  3.   

    DataTable.Select();
    DataTable.DefaultViewBindingSource.Filter
    BindingSource.SortDataTable.Select(string.Format("name={0}",textBox1.Text));
      

  4.   

    DataTable.Select挺方便的
    再设置DataGridView.CurrentCell 
      

  5.   

    谢谢你的回答,我已经找到了不需要连接数据库直接在dataGridView里面查找的方法。
    先整两个静态的
    public static int RowCount = 0;
            public static int SetGetRow
            {
                set
                {
                    if (RowCount != value) { RowCount = value; }
                }
                get { return RowCount; }
            }
    然后再查找按钮的点击事件里面写这个
    int row = dataGridView1.Rows.Count;//得到总行数 
                int cell = dataGridView1.Rows[1].Cells.Count;//得到总列数
                
                for (int i = Tools.SetGetRow; i < row; i++)//得到总行数并在之内循环 
                {
                    for (int j = 0; j < cell; j++)//得到总列数并在之内循环 
                    { 
                        //精确查找定位
                        if (txtName.Text.Trim() == dataGridView1.Rows[i].Cells[j].Value.ToString().Trim() || txtStuId.Text.Trim() == dataGridView1.Rows[i].Cells[j].Value.ToString().Trim())
                        { 
                            //对比TexBox中的值是否与dataGridView中的值相同(上面这句) 
                            dataGridView1.CurrentCell = dataGridView1[j, i];//定位到相同的单元格 
                            dataGridView1.Rows[i].Selected = true;//定位到行 
                            Tools.SetGetRow = i + 1; return;//返回
                        }
                    }
                }