Dodawanie wartości dynamicznie wygenerowanych numericUpDown

0

Witam serdecznie!

Papisałem sobie programik

  1. sprawdzić ile wartości ma w bazie .sdf
  2. dla każdej z pozycji wygenerować kontrolkę numericUpDown.
  3. Po kliknięciu button_ok ma sprawdzić czy suma wartości poszczególnych kontrolek jest równa 1 (to jest warunek logiczny zadania).

Punkty 1 i 2 wygladają tak:

 
int liczba = dt_aaa.Rows.Count;

for(int i = 0; i < liczba; i++)
{
NumericUpDown num = new NumericUpDown();
num.Location = new Point(actualX, acualY);
this.Controls.Add(num);
numerics.Add(num);
actualY +=25;
}

dotąd programik chodzi jak złoto...

Problem mam z faktem jak ma wykonać punkt 3... jestem zielony jak szczypiorek...

Z góry dziękuję za sugestie, a może jakiś przykładowy kodzik :-)

Pozdrawiam

0

Wszystkie NumericUpDowny, które dodałeś znajdują się w kolekcji Controls formatki. Wystarczy, że przejdziesz w pętli for po tej kolekcji, sprawdzisz, które z tych kontrolek są NumericUpDown, a następnie pobierzesz ich wartość Value i dodasz sobie do jakiejś zmiennej, oczywiście zadeklarowanej wcześniej.

0

Proszę o ratunek!!!

Od dwóch dni próbuję rozwiązać problem, nurkuję w Internecie, ale nic nie wyłowiłem...

Ma początek uworzyłem listę NumericUpDown

 
public partial class Form1 : Form
{
List<NumericUpDown> numerics;
// itd.
}

Potem ustawiłem parametry tych dynamicznie tworzonych kontrolek

 
Public Form()
{
InitializeComponent()

numerics = new List<NumericUpDown>();
actualPositionXX = 15;
actualPositionYY = 60;
szerokość = 50; 
wysokość = 20;
// itd.
}

Po przyciśnięciu pierwszego button1 programik bezbłędnie łączy się z bazą i pobiera warości z niej a następnie wyświetla w dynamicznie utworzonych kontrolkach NumericUpDown

 
for (int i = 0; i<liczba; i++)
{
NumericUpDown num = new NumericUpDown();
//...
num.Name = "num"+i.ToString();
num.Value = waga //to decimal pobrany uprzednio z bazy danych .sdf
//...
this.Controls.Add(num);
numerics.Add(num);

waga[i] = num.Value; // zapisuję sobie wagę do uprzednio zadeklarowanej tablicy decimal[] waga;
}

Z założeniu Użytkownik zobaczu dane zapisane w bazie... pokręci sobie NumericUpDown... Kliknie button2 żeby zapisać nowe wartości... Programik ma zapisać nowe ustawienia (nowe wartości NumericUpDown) w bazie danych

Dostałem podpiwiedź jak to można zrobić, ale nie znalazłem żadnego przykładowego kodu... czy ktoś poratuje biednego zielonego żółtodzioba

 
Private void button2_Click(object sender, EventArgs e)
{
int liczba_num = numerics.Count;
for (int i = 0; i<liczba_num; i++)
{
//pobrać aktualną (po zmianach wprowadzonych przez użytkownika) wartość NumericUpDown
//zapisać wartość w bazie danych
}
}
0

Jedynym sposobem, żeby zrobić to co chcesz zrobić, jest:

  1. Pobranie aktualnej wartości z NumericUpDown
    To opisał już somekind:

Wszystkie NumericUpDowny, które dodałeś znajdują się w kolekcji Controls formatki. Wystarczy, że przejdziesz w pętli for po tej kolekcji, sprawdzisz, które z tych kontrolek są NumericUpDown, a następnie pobierzesz ich wartość Value i dodasz sobie do jakiejś zmiennej, oczywiście zadeklarowanej wcześniej.

  1. Następnie wpisanie tej pobranej wartości do bazy danych
    Tu polecam google "INSERT INTO" + C#
0

A mógłbyś podrzucić jakiś kod... problem że nie moge przykładowego kodu znaleźć w internecie... kodu na przeglądanie kolekcji kontrolek... Diabeł ogonem nakrył :-(

0

Jak będziesz miał następny problem, żeby coś samemu wymyślić to też będziesz szukał przykładowego kodu?
Czego konkretnie nie potrafisz zrobić?
Nie wiesz co to kolekcja kontrolek? Przecież w tym kodzie powyżej używasz właściwości Controls. Nie wiesz jak przeglądać tę kolekcję? Więc poczytaj i wróć do jakiegoś kursu, gdzie takich podstaw uczą, a nie szukasz przykładów zupełnie ich nie rozumiejąc. W ten sposób nic nie osiągniesz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1