Ik heb onderstaande eventhandler aan een button hangen. Deze moet de data van table 1 overschrijven naar table 2 en wanneer het om hetzelfde object gaat de hoeveelheid optellen.
Echter nu werkt de tablelayout niet goed. Hij telt wel alles op, alleen de table blijft nieuwe rijen tekenen waardoor er dubbele data in staat. Heb al geprobeerd te spelen met de tweede for-loop waarin ik op de rijen kijk, echter zonder positief effect. De tablelayout heeft bij init één rij die als header gebruikt wordt.
Weet iemand welke code ik moet toevoegen/wijzigen/verwijderen om alleen de optelfunctie uit te laten voeren wanneer het label al voorkomt in de tweede table?
Echter nu werkt de tablelayout niet goed. Hij telt wel alles op, alleen de table blijft nieuwe rijen tekenen waardoor er dubbele data in staat. Heb al geprobeerd te spelen met de tweede for-loop waarin ik op de rijen kijk, echter zonder positief effect. De tablelayout heeft bij init één rij die als header gebruikt wordt.
Weet iemand welke code ik moet toevoegen/wijzigen/verwijderen om alleen de optelfunctie uit te laten voeren wanneer het label al voorkomt in de tweede table?
C#:
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
| private void test(object sender, EventArgs e) { for (int i = 1; i < FooTable1.ColumnCount - 1; i++) { Label lbl_foo = (Label)FooTable1.GetControlFromPosition(i, 0); TextBox txt_foo = (TextBox)FooTable1.GetControlFromPosition(i, 1); ComboBox cb_foo = (ComboBox)FooTable1.GetControlFromPosition(i, 2); if (!string.IsNullOrWhiteSpace(txt_foo.Text)) { for (int x = 1; x <= FooTable2.RowCount - 1; x++) { Label FooTable2_foo = (Label)FooTable2.GetControlFromPosition(0, x); Label FooTable2.foo2 = (Label)FooTable2.GetControlFromPosition(2, x); Label foo = new Label() { Text = txt_foo.Text }; Label Level = new Label() { Text = cb_foo.SelectedItem.ToString() }; if (FooTable2_foo == null || FooTable2.foo2 == null) { // Adding to secondary table FooTable2.RowCount = FooTable2.RowCount + 1; FooTable2.RowStyles.Add(new RowStyle(SizeType.Absolute, 40F)); FooTable2.Height = FooTable2.Height + 50; Label dfc = new Label() { Text = lbl_foo.Text }; FooTable2.Controls.Add(dfc, 0, FooTable2.RowCount - 1); FooTable2.Controls.Add(foo, 1, FooTable2.RowCount - 1); FooTable2.Controls.Add(Level, 2, FooTable2.RowCount - 1); } else { if (FooTable2_foo .Text.Equals(lbl_foo.Text) && FooTable2.foo2.Text.Equals(cb_foo .SelectedItem.ToString())) { Label foo3 = (Label)FooTable2.GetControlFromPosition(1, x); int total = int.Parse(foo .Text) + int.Parse(txt_foo .Text); foo3.Text = total.ToString(); } } } } } } |