2011-02-22 77 views
4

こんにちは
XMLソースにバインドされたDataGridViewがあります。DataGridViewセル編集

  1. セルの編集に問題があります。クリック時のセルが選択され、編集時にデフォルトで上書きされます。私の要件は編集の準備ができていて、クリックされたときは選択されていないと言います。
  2. 「Tab」キーが押されるたびに動的に行を生成したいです。

どうすればこの問題を解決できますか? 1の質問に対する

答えて

2

あなたはこの試みることができます:私が正しくあなたを理解していればあなたは、細胞が、すぐにそれをクリックすると編集モードに入りたい

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 
     { 
      this.dataGridView1.CellEnter += new DataGridViewCellEventHandler(myDataGrid_CellEnter); 
     } 
     void myDataGrid_CellEnter(object sender, DataGridViewCellEventArgs e) 
     { 
      if ((this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewTextBoxColumn) || 
       (this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewComboBoxColumn)) 
      { 
       this.dataGridView1.BeginEdit(false); 
      } 
     } 
+0

これは、ユーザーがコンテンツをクリックするたびに、「CellEnter」の新しいイベントハンドラを追加する原因になります。 'JonC'によって提案されているように 'dataGridView1.BeginEdit(false) –

2

を。これは、DataGridViewのEditModeプロパティをEditOnEnterに設定することで実現できます。 しかし、これは選択された編集コントロール内のテキストを残し、そう、あなたが使用できることをしたくない場合は:

dataGridView1_CurrentCellChanged(object sender, EventArgs e) 
{ 
     dataGridView1.BeginEdit(false); 
} 

することは、あなたが動的に行を追加することによって、何を意味するか説明できますか?

関連する問題