Laden...

Forenbeiträge von romeor Ingesamt 4 Beiträge

19.05.2022 - 13:53 Uhr

Hallo Th69,

vielen Dank!! List<DataSet> klingt sehr sehr gut.

Ich danke damit müsste es gehen.

Ebenso danke für den Tipp bzgl. der Datenhaltung. Lese ich mich mal gründlich durch.

13.05.2022 - 11:19 Uhr

Hallo Abt,

vielen Dank für die freundlichen Informationen.

Die DataSet-Variable löst in dem Fall mein Problem nicht, da zur Laufzeit mehrere DataSets erstellt werden
und die Menge aber je nach Vorgang variieren können : ds1 ds2 ds3 ds4.



for (int i = 1; i < 10; i++)
{
 
 DataSet ds = new DataSet("ds"+i.ToString());
 BindingSource bindingSource = new BindingSource(); // name kann nicht vergeben werden
}


Daher ist die Frage, (wie) kann man so wie man ja sonst auch nach componenten suchen kann, nach dem DataSet suchen?

Control.FindControl
Control.FindForm
Application.OpenForms[..];



   Form form = Application.OpenForms["Form1"];

   for (int i = 1; i < 10; i++)
  {
      DataSet ds = f.find??.("ds"+i.ToString());
      BindingSource bs =  f.find...("ds"+i.ToString()); // da kein Name verben wurde funktioniert es ja so nicht
   }

Ich hab versucht evtl. über die BindingSource die Sache zu lösen, aber leider kann man anscheinend zur Laufzeit keinen Namen vergeben, sodass
ich auch nicht danach suchen konnte.

I need some help 🙂

Ich hoffe Ihr könnt mir helfen, bin schon seit einigen Monat dran, hab aber keine passende Lösung bisher.
Wenn es dennoch nicht gehen sollte, dann würde ich es mit einer Funtkion versuchen die die DataSets wie oben erstellt, und diese
einem Platzhalter speichert



for (int i = 1; i < 10; i++)
  {
               Control bscontroller = new Control();
                bscontroller.Name = "bs" + i.ToString();
                form.Controls.Add(bscontroller);
                bscontroller.Visible = false;
               ....
                string colname = dt.Columns[0].ColumnName;

               bscontroller.DataBindings.Add(new Binding("Text", bindingSource, colname, true, DataSourceUpdateMode.OnPropertyChanged));

}

dann könnte ich durch die FindControl funktion den bsController finden und somit auf die DS und BS zugreifen.

Über ein Feedback würde ich mich sehr freuen.

30.03.2022 - 20:35 Uhr

Offensichtlich muss ich noch viel lernen.
vielen Dank für die Antwort. Ich hab zwar noch nicht ganz verstanden was ich jetzt machen muss,
und was static's für Vor- und Nachteile haben.
Ich schau mal wie weit ich komme. Aller Anfang ist schwer.

30.03.2022 - 08:24 Uhr

Guten Tag,

ich hoffe ich bin hier richtig mit meiner Frage.

Ich habe lange gesucht, aber ich finde die Lösung auf folgendes Ziel nicht.

in form A erstelle ich einen Button zum speichern(dessen click-event ist in einer anderen Klasse gespeichert) und einen Grid


// button wurde schon erstellt

 DataSet ds = new DataSet("meinDataSet");
 ds.Namespace = "meinDataSet";
 SqlDataAdapter dsa = new SqlDataAdapter(sqlText, sql.getConnectionString());
 dsa.Fill(ds);
 DataTable dt = ds.Tables[0];
 meinGrid.DataSource = dt;

bis hierhin pass alles

in der Klasse myevent will ich jetzt beim klick auf den Button .. Änderung speichern?...abfragen lassen...

wie finde ich den datensatz jetzt?


private static void B_Click(object sender, EventArgs e)
{
    Button btn = sender as Button;
    Form form = btn.FindForm();

    DataSet ds = ( hier will ich den "meinDataSet" finden? )
}

Folgender Versuch hat natürlich nicht geklappt.


DataSet ds = form.Controls.Find("meinDataSet", true) as DataSet;

Ich hoffe Ihr könnt mir weiterhelfen.

Vielen Dank im Voraus.
Liebe Grüße
Rommy