2012-03-19 8 views
0

友達、私はWindowsのC#アプリケーションでdatagridviewを使用しています。私たちは、datagridviewを持つフォームが読み込まれると、デフォルトの行がグリッドに作成されることを知っています。任意のセルに何かを入力すると(合計6列、2列の非表示列)、新しい行が作成されます。しかし、エントリを削除すると、新しく作成された行は削除されません。このようにして、任意のセル内に値を保持せずに、必要な数の行を作成できます。私はdatagridviewが最大2つのそのような行を作成し、両方の行に値が存在しないようにするために、最後の行を削除します(グリッドにはデータが1行ありません)。私はdatagridview1_CellValueChangedイベントで行を削除しようとしましたが、動作していません。どのイベントを使用する必要があり、どのようにして目的の機能を得ることができますか?助けてください。DataGridviewから行を削除するには?

+0

が同様に私達にあなたの試みのコードを表示してください。 – stackptr

答えて

0

私たちは、あなたが行を削除するには、パラメータとして行のインデックスを提供することができますDataGridViewの

dataGridView1.Rows.Remove(); 
dataGridView1.Rows.RemoveAt(); 

から行を削除するには、2つの機能を持っています。

あなたが検証に与えるか、または

+0

私はこれらの2つの機能を持っていますが、行と行のインデックスは行を削除するために使用すべきですか? – Sukanya

+0

データを挿入するユーザーの後に行を削除する場合 –

+0

はValidatingまたはValidatedを試行します。 –

1

この試しのDataGridViewの検証済みイベントができます:それは動作しませんあなたがループ同じグリッドがROWCOUNT使用している場合

DataGridView1.Rows.Remove(row); 
+1

この場合、 – Sukanya

+0

ここで「行」とは何ですか? – Sukanya

+0

あなたは行インデックスまたはDataGridView1.SelectedRowを使用することができます – Vinod

0

for(int i = 0;i<dataGridMaster.Rows.Count;i++) 
      { 
       dataGridMaster.Rows.RemoveAt(i); 
      } 

それはウィルループ中に行の数が変化するため、ジョブを正しく実行しません。

は、代わりのようなローカル変数に番号を割り当てます。

Int loopNum = dataGridMaster.Rows.Count; 
for(int i = 0;i<loopNum ;i++) 
      { 
       dataGridMaster.Rows.RemoveAt(i); 
      } 
関連する問題