问一个winform下datagrid的问题
比如我有两列 
 a         b 
 1         1 
 2         2 
 3         3 
 ... 
 我想修改了a的值后,b马上也跟着修改 
 我用了CurrentCellChanged事件.里面写了以下2句 
 int   row   =   this.dataGrid1.CurrentCell.RowNumber; 
 this.dataGrid1[row,   1]   =   this.dataGrid1[row,   0]; 
 现在我按左右键可以搞定,但是按上下键不会变 
 我调试了一下,发现在事件里CurrentCell已经变成现在的了,所有前面的没有更新 
 请问有没有什么好方法实现 
 能有代码更好 
 谢谢高手先
------解决方案--------------------for(,,) 
 { 
 }
------解决方案--------------------现在我按左右键可以搞定,但是按上下键不会变 
 ========================================== 
 按上下键会变!
------解决方案--------------------没看明白什么上下键?
------解决方案--------------------ding
------解决方案--------------------用表达式,视图的表达式! 
 第二列的值=第一列的!
------解决方案--------------------private void dataGrid1_CurrentCellChanged(object sender, EventArgs e)           
         { 
             int row = this.dataGrid1.CurrentCell.RowNumber;   
             this.dataGrid1[row, 1] = this.dataGrid1[row, 0]; 
         } 
 楼主仔细看看这段代码,按上下键的话就换行了,原先修改的那行当然就不会变了,可以用个for循环,把所有的b都赋值为a
------解决方案--------------------在rowvalidating()里也要进行修改
------解决方案--------------------噢,好像datagrid没有rowvalidating,为什么还用datagrid??
------解决方案--------------------复写个DataGridTextBoxColumn 
 然后放protected override void Paint事件里。 
------解决方案--------------------肯定可以的     
 太强了!
------解决方案--------------------可以通过expression解决
------解决方案--------------------假设数据源为MyDs 
 DataColumn col = Myds.Tables[0].Columns[1]; 
 col.Expression= "a "; 
 this.DataGrid1.DataSource=MyDs.Tables[0];
------解决方案--------------------先Mark下 
 呵呵