Zagadka dzięki uprzejmości DataGridView

W WinForms w kilku prostych krokach można dodać kolekcję obiektów, tak aby DataGridView wygenerował za nas kolumny odpowiedniego typu i z odpowiednim nagłówkiem. W całości wykonuje to poniższa funkcja Init(). Jest ona wywoływana z konstruktora świeżo dodanej formatki Form1, która zawiera tylko dataGridView1.

public Form1()
{
    InitializeComponent();

    Init();
}

void Init()
{
    TestObject test1 = new TestObject()
    {
        FirstValue = 2,
        SecondValue = 3
    };
    List<TestObject> list = new List<TestObject>();
    list.Add(test1);

    dataGridView1.DataSource = list;
}

Pytanie

Dlaczego powyższy kod wygląda po uruchumieniu tak jak na poniższym obrazku (brak pierwszej kolumny)?

Po odpowiedź przewiń w dół.

Odpowiedź

FirstValue to publiczne pole, a do automatycznego generowania kolumn przez DataGridView używane są (najwidoczniej) tylko właściwości.

Oto obiekt TestObject celowo pominiety wcześniej

class TestObject
{
    public int FirstValue;
    public int SecondValue { get; set; }
}
Reklamy
Ten wpis został opublikowany w kategorii Lessons Learned i oznaczony tagami , , . Dodaj zakładkę do bezpośredniego odnośnika.

3 odpowiedzi na „Zagadka dzięki uprzejmości DataGridView

  1. Łukasz K. pisze:

    Czuję się z deka oszukany;)

  2. Pingback: dotnetomaniak.pl

Możliwość komentowania jest wyłączona.