データ グリッド ビューの列ごとにデータを追加したい。
実行時に列を追加してから、データを追加したいと考えています。
また、ウィンドウに合わせて列のサイズが変更される可能性もあります。
例-10 列の場合は 10 列でウィンドウを埋める必要があります。5 列の場合は 5 列でウィンドウを埋める必要があります。
データ グリッド ビューの列ごとにデータを追加したい。
実行時に列を追加してから、データを追加したいと考えています。
また、ウィンドウに合わせて列のサイズが変更される可能性もあります。
例-10 列の場合は 10 列でウィンドウを埋める必要があります。5 列の場合は 5 列でウィンドウを埋める必要があります。
これは、必要なことを行う簡単な例のコードです。これは、DataGridView コントロールが 1 つある単純なフォームのコード ビハインドからのものです。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
BindingList<BindingClass> data = new BindingList<BindingClass>() {
new BindingClass { Name = "joe", Surname = "bloggs" },
new BindingClass { Name = "sue", Surname = "bloggs" } };
dataGridView1.DataSource = data;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
}
}
public class BindingClass
{
public string Name { get; set; }
public string Surname { get; set; }
}
}
データに使用するカスタム オブジェクトを作成しました。これがリストの場所です。DataGridView のデータソースにバインドされたリストのすべてのパブリック プロパティは、列として作成されます。その後、不要な列を非表示にすることができます。
私の例では、aBindingList<T>
ではなくa を使用することを選択しました。List<T>
これは、編集が可能で、並べ替えをサポートするように拡張できるため、一般的に好まれます。
AutoSizeColumnsMode
グリッドのも設定しFill
ます。各列の幅または塗りつぶしのプロパティを個別に設定するなど、他にもいくつかのオプションがあり、これらはデザイナーからも設定できます。
ListView
自動データバインディングを提供しないため、 a の使用はお勧めしません。