2016-04-05 5 views
2

私はDataGridviewを空にして、最初のセルでユーザー入力の準備を開始しようとしています。私は、その列の値のみを持つ新しい行を追加し、それを隠す、未使用の列を持つDatatableを作成しようとしたが、その後DataGridviewは私に2行を示しています。私は一つだけで起動することができますどのように空の編集可能なテーブルでDataGridViewを開始

enter image description here

を空の行ですか? Datatableため

コード:

DataTable dt = new DataTable(); 
dt.Columns.Add("Nummer"); 
dt.Columns.Add("Unternummer"); 
dt.Columns.Add("Betrag"); 
dt.Columns.Add("Datum"); 

dt.Rows.Add("", "", "", DateTime.Now.ToShortTimeString()); 
gv_Input.DataSource = dt; 

は、列を非表示にし、入力のための最初のセルの準備ができます

private void gv_Input_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) 
{ 
    gv_Input.Columns[3].Visible = false; 
    DataGridViewCell cell = gv_Input.Rows[0].Cells[0]; 
    gv_Input.CurrentCell = cell; 
    gv_Input.BeginEdit(true); 
} 

答えて

2

はあなたのDataGridViewFalseへのAllowUserToAddRowsプロパティを設定する必要があります。

DataTable dt = new DataTable(); 
... 
... 
gv_Input.AllowUserToAddRows = false; 

結果:このような

enter image description here

+0

回答ありがとうございます... –

+0

もう1つの質問ですが、この最初の行にはどうすればアクセスできますか? 'gv_input.Rows'は私に0(ゼロ)を返しますか? –

0

あなたはtrueAllowUserToAddRowsプロパティを設定する場合は、データテーブルに行を追加する必要はありません。

//dt.Rows.Add("", "", "", DateTime.Now.ToShortTimeString()); 
+0

ありがとうございますが、編集 'gv_Input.BeginEdit(true);'はもう使用できません –