datagrid中有一模板列textbox,如何实现在其中一个textbox中单击回车键,使光标移动到下一行的此列中, 实现连续用键盘输入,类似excel的形式,

解决方案 »

  1.   

    捕获Enter键,重新设置CurrentCell
      

  2.   

    Sample code as follows:
    public class MyDataGrid : DataGrid 
         { 
              protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData) 
              { 
                   if(msg.WParam.ToInt32() == (int) Keys.Enter) 
                   { 
        if( this.CurrentCell.ColumnNumber == yourTextColumnIndex )
    {
    this.CurrentCell = new DataGridCell( this.CurrentCell.RowNumber + 1 , this.CurrentCell.ColumnNumber);// You should check whether "this.CurrentCell.RowNumber + 1" is valid.
    return true;
    }
                   } 
                   return base.ProcessCmdKey(ref msg, keyData); 
     
              } 
     
         }