1

データ グリッド ビューの列ごとにデータを追加したい。

実行時に列を追加してから、データを追加したいと考えています。

また、ウィンドウに合わせて列のサイズが変更される可能性もあります。

例-10 列の場合は 10 列でウィンドウを埋める必要があります。5 列の場合は 5 列でウィンドウを埋める必要があります。

4

1 に答える 1

1

これは、必要なことを行う簡単な例のコードです。これは、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 の使用はお勧めしません。

于 2012-05-04T10:40:42.957 に答える