DataBinding

DataBinding
2013-09-17T13:20:46+02:00
2013-09-19T10:19:02+02:00
2022-10-15T22:15:58+02:00
Legatt
Sziasztok!

Még nagyon kezdő vagyok!
Megpróbáltam egy DataGridView alatt egy Label-ben megjeleníteni egy tábla sorainak számát a DataBinding tulajdonságot felhasználva (Win XP alatt .NET Framework 4.0).
De nem működik!

Így néz ki a kód:


void MainFormLoad(object sender, EventArgs e) { table = new DataTable("Persons"); table.Columns.Add(new DataColumn(("Name"), typeof(string))); table.Columns.Add(new DataColumn(("Age"), typeof(int))); table.Columns.Add(new DataColumn(("Address"), typeof(string))); DataRow dr = table.NewRow(); dr["Name"] = "Kiss Istvan"; dr["Age"] = 22; dr["Address"] = "Tószeg, ..."; table.Rows.Add(dr); dr = table.NewRow(); dr["Name"] = "Kovács János"; dr["Age"] = 55; dr["Address"] = "Budapest"; table.Rows.Add(dr); table.AcceptChanges(); dataGridView1.DataSource = table; label1.DataBindings.Add("Text",table.Rows,"Count"); }

A dataGridView1-ben meg is jelennek rendesen az adatok.
A label1-nél megjelenik hogy hány sorból áll a tábla. Ez OK!
Azonban, ha megváltoztatom a tábla sorainak számát pl felviszek egy újat:

void Button1Click(object sender, EventArgs e) { DataRow dr = table.NewRow(); dr["Name"] = "Nagy Imre"; dr["Age"] = 25; dr["Address"] = "Paks, ..."; table.Rows.Add(dr); table.AcceptChanges(); }

A label1 nem mutatja a megváltozott sorok számát, holott a MessageBox kiírja a 3-at és a dataGridView1-ben is megjelenik az új sor.
Kihagytam volna valamit?

Előre is köszönöm a válaszokat!
Mutasd a teljes hozzászólást!
Szerkeszteni akartam a körmölésem, de közben megjelent a válaszod.
Sebaj.
Húzz a form-odra egy bindingnavigator-t.
Picit módosítsd a kódod ( a label-t most felejtsd el):

table.AcceptChanges(); bindingSource1.DataSource = table; dataGridView1.DataSource = bindingSource1; bindingNavigator1.BindingSource = bindingSource1;
Futtasd a progid, s nézd meg az eredményt.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd