只能自己判断currentRow是否改变

解决方案 »

  1.   

    SelectedIndexChanged事件里判断SelectedIndex
      

  2.   

    private void Form1_Load(object sender, System.EventArgs e)
    {
    oleDbConnection1.Open();
    oleDbDataAdapter1.Fill(dataSet1);
                DataTable table=dataSet1.Tables[0];
     dataGrid1.DataSource=table;
      textBox1.DataBindings.Add("Text",table,"姓名");
    BindingManagerBase bm = 
    this.BindingContext [table];// Add the delegate for the PositionChanged event.
    bm.PositionChanged += new EventHandler(Position_Changed);
    }
    private void Position_Changed(object sender, EventArgs e)
           {
            // Print the Position property value when it changes.
            int p=((BindingManagerBase)sender).Position;
                statusBar1.Panels[0].Text=p.ToString();
           }private void button1_Click(object sender, System.EventArgs e)
    {
                 DataTable table=dataSet1.Tables[0];
     this.BindingContext [table].Position++;    //  上一条记录
    }private void button2_Click(object sender, System.EventArgs e)
    {
    DataTable table=dataSet1.Tables[0];
    this.BindingContext [table].Position--;  // 下一条记录
    }
      

  3.   

    楼上正解
    BindingManagerBase.PositionChanged
      

  4.   

    Form1绑定的BindingContext上 
    this.BindingContext[table0].PositionChanged事件较好,dataGrid1当前记录也与它同步,
    缺陷是要自已处理,不算复杂
      

  5.   

    yhec(@_@ 俺是贫农俺怕谁) ( )  的方法俺实在是搞不懂:(
    有没更简单的做法呢:( 
      

  6.   

    在SelectredIndexChanged里写代码就ok了啊
    private void DBGrid_Select(object sender, System.EventArgs e)
    {
                        //当用户选择不同的记录时
    -----你想写的代码-----
    }
      

  7.   

    如果 DataGrid 在 WebForm 可用这个事件:ItemDataBound
      

  8.   

    不复杂呀,其它不用的代码可去掉呀
    BindingManagerBase bm = this.BindingContext [table];
    bm.PositionChanged += new EventHandler(Position_Changed);
    private void Position_Changed(object sender, EventArgs e)
          {
            //新的记录号: ((BindingManagerBase)sender).Position;
           }