アプリケーションでオブジェクトの境界付きリストを持つ DataGridView を使用しています。ので、私は持っています:
grid.DataSource = Files.Instance.List;
私のフォームロードイベントでは、2つのボタンが必要です-リストからアイテムを追加および削除するため(グリッドからも)、次のように簡単にする必要があります。
if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
Files.Instance.List.Add(new DelphiFile { FilePath = openFileDialog.FileName });
grid.Refresh();
}
ここでは開始パスのみを設定しています。残りのパラメーターはグリッド ビューでユーザーが設定できるようにしたかったのです。アイテムは正しく追加されましたが、残念ながらリストに表示されません。なぜですか?
アイテムの削除にも問題があります。
foreach(DataGridViewRow row in grid.SelectedRows)
{
Files.Instance.List.Remove(row.DataBoundItem as DelphiFile);
}
grid.Refresh();
アイテムは正しく削除されますが、グリッドが更新されないようで、グリッドの最後のアイテムに :O よりも値がないため、例外が発生します。
私は何を間違っていますか?