Globale DataTable in VisualStudio erstellen
Hallo,
ich bin gerade dabei eine kleine Anwendung zu schreiben in der ich eine Tabelle generiere.
der erste Teil funktioniert. Allerdings möchte ich in einer anderen Funktion ebenfalls auf die Tabelle zugreifen, das geht irgendwie nicht. Ich bekomme sie nicht global.
das ganze sieht so aus:
tabelle.DataSource ist das Gridview element, was hier befüllt wird. nun möchte ich an anderer Stelle einer anderen Funtion eine Reihe hinzufügen mit dt.Rows.Add(dr);
dann erhalte ich dort den Fehler im VisualStudio : Der Name "dt" ist im aktuellen Kontext nicht Vorhanden.
Wie und wo müsste ich denn die Tabelle mit Spaltennamen definieren damit ich sie von jeder Funktion aus bearbeiten kann?
Vielen Dank
ich bin gerade dabei eine kleine Anwendung zu schreiben in der ich eine Tabelle generiere.
der erste Teil funktioniert. Allerdings möchte ich in einer anderen Funktion ebenfalls auf die Tabelle zugreifen, das geht irgendwie nicht. Ich bekomme sie nicht global.
das ganze sieht so aus:
dt.Columns.Add("Panel");
dt.Columns.Add("Timestamp");
for (int i = 0; i < arrayb; i++)
{
String splitten = outargs[i].Split(separator);
// panel.Add(splitten);
// panel.Add(splitten[1]);
// liste.Add(panel);
// dt.Rows.Add(splitten.Take(i).ToArray());
// dt.Rows.Add(splitten[1].Take(i).ToArray());
//dt.Rows.Add(new object { (splitten, (splitten[1] });
DataRow dr = dt.NewRow();
dr["Panel"] = splitten;
long timest = Convert.ToInt64(splitten[1]);
dr["Timestamp"] = DateTimeOffset.FromUnixTimeMilliseconds(timest); // or dr[1]=24;
dt.Rows.Add(dr);
}
tabelle.DataSource = dt;
}
dann erhalte ich dort den Fehler im VisualStudio : Der Name "dt" ist im aktuellen Kontext nicht Vorhanden.
Wie und wo müsste ich denn die Tabelle mit Spaltennamen definieren damit ich sie von jeder Funktion aus bearbeiten kann?
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1691616742
Url: https://administrator.de/forum/globale-datatable-in-visualstudio-erstellen-1691616742.html
Ausgedruckt am: 23.12.2024 um 03:12 Uhr
5 Kommentare
Neuester Kommentar
Guten Morgen,
Visual Studio ist eine IDE und keine Programmiersprache.
Du programmierst gerade mit C#, oder?
Mit diesem kleinen Snippet kann man nichts genaueres sagen. Grundsätzlich hast du ein Problem mit den Scopes. Lokale Variablen stehen, wie der Name schon verrät, nur lokal zur Verfügung. Diese kannst du nicht in einer anderen Funktion nutzen. Entweder musst du die Werte in einer Instanzvariable speichern oder innerhalb der Funktion die andere Funktion aufrufen und die Variable als Parameter übergeben.
Du solltest dich daher mal mit den Grundlagen beschäftigen. Hier mal eine Erklärung zu den Scopes:
https://www.pluralsight.com/guides/understanding-scope-and-visibility-in ...
MfG
Visual Studio ist eine IDE und keine Programmiersprache.
Du programmierst gerade mit C#, oder?
Mit diesem kleinen Snippet kann man nichts genaueres sagen. Grundsätzlich hast du ein Problem mit den Scopes. Lokale Variablen stehen, wie der Name schon verrät, nur lokal zur Verfügung. Diese kannst du nicht in einer anderen Funktion nutzen. Entweder musst du die Werte in einer Instanzvariable speichern oder innerhalb der Funktion die andere Funktion aufrufen und die Variable als Parameter übergeben.
Du solltest dich daher mal mit den Grundlagen beschäftigen. Hier mal eine Erklärung zu den Scopes:
https://www.pluralsight.com/guides/understanding-scope-and-visibility-in ...
MfG
((DataTable)tabelle.DataSource).Rows.Add(dr);
...und befolge ganz dringend den Rat von @150345 ;)
Hallo,
bitte mal den vollständigen Code posten. Das meiste sind einfach nur Syntaxfehler.
Ich kann dir an dieser Stelle nur nochmal den Rat geben, dass du dich mal mit den Grundlagen beschäftigen solltest z.B. ein Online Video Kurs auf Udemy oder Linkedin eLearning. Da sind dann auch viele kleine Übungen enthalten, mit denen du schrittweiße Programmieren lernen kannst.
Aber wenn du nicht mal die Fehler interpretieren kannst, dann können wir dir schlecht weiterhelfen....
Edit: Weil ich es gerade sehe....bitte halte dich an die Code Konventionen von C#. Für Klassennamen wird Pascal Case genommen. Also "GlobalParameter" satt "globalparameter".
https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style ...
MfG
bitte mal den vollständigen Code posten. Das meiste sind einfach nur Syntaxfehler.
Ich kann dir an dieser Stelle nur nochmal den Rat geben, dass du dich mal mit den Grundlagen beschäftigen solltest z.B. ein Online Video Kurs auf Udemy oder Linkedin eLearning. Da sind dann auch viele kleine Übungen enthalten, mit denen du schrittweiße Programmieren lernen kannst.
Aber wenn du nicht mal die Fehler interpretieren kannst, dann können wir dir schlecht weiterhelfen....
Edit: Weil ich es gerade sehe....bitte halte dich an die Code Konventionen von C#. Für Klassennamen wird Pascal Case genommen. Also "GlobalParameter" satt "globalparameter".
https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style ...
MfG