Winフォーム:DataGridViewの新しく追加された行

1.新しい一番下の行は表示されません。

下の行は、一般のDataGridViewユーザ新しく追加された行(*表示された最初の行)です。あなたは、ユーザーが新しい行で新しい追加の行を表示したくないしたくない場合は、AllowUserToAddRowsプロパティDataGridViewのオブジェクトは、Falseに設定することができます。

DataGridView1.AllowUserToAddRows = false;

ただし、プログラムすることができます:DataGridViewのは、新しい行を追加するDataGridViewRowCollection.Addため。

2.行の新しい世代のためのデフォルト値を追加します。

ユーザーは、現在の行として「改行」を選択すると、DataGridViewのはDefaultValuesNeededイベントをトリガします。このイベントでは、新しい行にアクセスすることができ、およびそのデフォルト値は、ユーザ入力の利便性のために生成されます。

private void dataGridView1_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
{
    e.Row.Cells["Region"].Value = "WA";
    e.Row.Cells["City"].Value = "Redmond";
    e.Row.Cells["PostalCode"].Value = "98052-6399";
    e.Row.Cells["Region"].Value = "NA";
    e.Row.Cells["Country"].Value = "USA";
    e.Row.Cells["CustomerID"].Value = NewCustomerId();
}

3.新しい行にデータを入力します。

ユーザーは、入力データの新しい行の前に開始し、新しいラインのIsNewRowプロパティがtrueの場合、つまり、最初のトリガはCellEnterとCellBeginEditイベントIsNewRowイベントトゥーレを流用しました。ユーザーが入力を開始すると、この行は、新しい行は、もはやあり、DataGridViewのは、以下の図を見て、「新しい」新しい行を生成しません。

「新しい」新しい行がUserAddedRowイベントをトリガします追加、二番目のパラメータのそのイベントハンドラは、「新しい」新しい行を指定する属性の行を持っています。次に、ユーザは、Escキーを押すと、「新しい」新ラインはUserDeletingRowイベントをトリガする、削除されます、プロパティが二番目のパラメータのためのイベントハンドラを行「の新しい」新しい行を指定します。

新ラインの4カスタム視覚効果

  • 新しい行は、それがセルスタイルを指定されていない場合、彼らは継承されたスタイルを使用しますが、テンプレート作成RowTemplateに基づいています。
  • 新しい行のセルの初期値は、各セルのDefaultNewRowValue属性によって決定されます。DataGridViewImageCell細胞型のために、初期値はNULLの他のタイプと比較して、プレースホルダ画像です。カスタム値を返すために、このプロパティをオーバーライドすることができます。しかし、それはDefaultValuesNeededイベントハンドラのデフォルト値に置き換えることができ、イベントは、新しい行トリガーに焦点を当てます。
  • 新ラインは、標準の矢印アイコンまたはアスタリスクのタイトルで、露出されていません。アイコンをカスタマイズしたい場合は、カスタムDataGridViewRowHeaderCellクラスを作成する必要があります。
  • 標準のアイコンが新しいラインのForeColorプロパティのタイトルDataGridViewCellStyleセルをヘッダーに使用します。注意:十分なスペースがない場合、アイコンは表示されません。
  • あなたは(Valueプロパティを経由して)ヘッダーセルの文字列値を設定しますが、テキストとアイコンを表示しながら、十分なコントロールがない場合は、アイコンが最初にカットされます。

新しい行の順序

  • 結合していないモードでは、常にあなたがデータをソートする必要がある場合でも、DataGridViewのの最後の行に新しい行を追加します。この動作は、ListViewコントロールに似て、ユーザーが適切な場所に新しいレコードに、「オート」、再び新しい行を追加した後にソートする必要があります。
  • あなたがデータをソートする必要がある場合は結合モードまたは仮想モード(仮想モード)では、そのデータを挿入する動作は、データモデルの実装に依存します。ADO.NETの場合は、新しい追加の行が自動的に適切な位置にソートされています。

ます。https://www.cnblogs.com/rainman/p/3661909.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_33941350/article/details/93561367