none
Daten in DataGrid werden nicht auf jedem System angezeigt / VB.NET WPF RRS feed

  • Frage

  • Hallo

    Ich habe Daten aus einer Datenbank die Aufbereitet in einem DataGrid angezeigt werden.

    Dies Funktioniert auch auf den Programmiersytemen und unter Win 8 System tadellos.

    Auf Systemen mit Win XP oder Win7 kommt es jedoch auf einigen Systemen vor, dass zwar die Daten korrekt Empfangen werden und die Zeilen anlegt(erkennbar durch alternierende Farbgebung), aber die Zeilenköpfe sowie der Inhalt werden nicht angezeigt.

    Das Projekt ist .Net 4.0 für X86-Systeme kompiliert auf allen Geräten ist min. .Net 4.0 und die VC_Redist installiert.

    Hier der Code für das Einlesen/Zuweisen:

    Try
    
    Kalender_Datatable = Database.Kalender.LeseKalender(i_Kalender)
                dt_Data.Clear()
                dt_Data.Columns.Clear()
                dt_Data.TableName = "DB-Content"
    
                dt_Data.Columns.Add("Id")
                dt_Data.Columns.Add("Datum")
                dt_Data.Columns.Add("Uhrzeit - Begin")
                dt_Data.Columns.Add("Uhrzeit - Ende")
                dt_Data.Columns.Add("Wo")
                dt_Data.Columns.Add("Was")
                dt_Data.Columns.Add("Info")
                dt_Data.Columns.Add("Kalendernummer")
    
                For Each _Eintrag In Kalender_Datatable
                    dt_Data.Rows.Add(_Eintrag.id, _Eintrag.Datum, _Eintrag.Begin, _Eintrag.End, _Eintrag.Wo, _Eintrag.Was, _Eintrag.Info, _Eintrag.KalenderNummer)              
                    If List_Locations.Contains(_Eintrag.Wo) Then
                    Else
                        List_Locations.Add(_Eintrag.Wo)
                        List_Locations.Sort()
                    End If
                Next
    
            Catch ex As Exception
                MessageBox.Show(ex.ToString)
            End Try
            dg_Kalenderdaten.ItemsSource = dt_Data.CreateDataReader

    Ich weis langsam nicht mehr woran es nun liegen könnte und Google bringt mir auch nix brauchbares. Ist es einfach ein Bug im VS2012, habe ich das Handling vom Datagrid falsch verstanden oder muss noch eine zusätliche Runtime oder sowas installiert werden damit es sauber läuft.

    Danke im Vorraus

    Mittwoch, 28. August 2013 09:41

Antworten

  • Hallo Björn

    Threads, Dispatcher oder ähnliches besitzt das Programm nicht. .Net 4.5 ist leider auf XP Systemen nicht installierbar, daher habe ich max. 4.0 als Anforderung.

    Alle Clients haben außer die Win 8 Geräte nur 4.0 installiert und sind bis auf einige Außnahmen auch auf dem aktuellen Patch Stand und denoch läuft es auf einigen Systemen und auf anderen wiederum nicht.

    Sicherlich sind die Hardwarekomponenten unterschidlich aber das dürft dieses Behavior nicht auslösen!?

    Das Programm wird lokal aufgeführt und baut beim laden der Daten eine SQL-Verbindung auf.

    Wie bereit erwähnt funktioniert die kommunikation zwichen Programm und SQL-DB auch problemlos.Ich werde aber denoch mal das mit dem .Net 4.5 zumindest auf den Win7-Problem-Systemen mal testen und spät. Mo ein Feedback geben.

    Danke schonmal an alle für die Hinweis

    Grüße

    Umbrella_Corp

    Nachtrag: habe an einem Client an dem der Fehler auftrat .net4.5 Installiert und nun läuft es dort. Das ist zwar schön aber erklärt nicht warum der Fehler auf einigen Systemen(wohlgemerkt Alle Sytem mit 4.0) und auf anderen nicht geht.

    Werde das Montag noch genauer prüfen.

    Nachtrag 2: so habe jetzt versucht auf einem System zu kompilieren das nur 4.0 besitzt. leider habe ich nur zugriff auf die 2012 Version von Visual Studio welche nunmal 4.5 vorraussetz um überhaupt zu laufen :( Das kann doch wohl nicht so schwer sein wenn ich ihm sage das nur 4.0 verwendet wird, das dies auch geschiet und nicht 4.5 installiert werden muss.

    Ich denke mal wenn ich am Montag keine Adequate Lösung gefunden habe muss es wohl so sein.

    Nachtrag 3: Also es liegt definitiv am .Net es reicht nicht das Projekt als .Net 4.0 Projekt zu kompilieren wenn .Net 4.5 installiert ist, da er aus welchem Grund auch immer die Biliotheken von 4.5 verwendet.

    Damit ist für mich das Problem erstmal eingegrenzt und ein Lösungsweg vorhanden, der heist .Net 4.5 auf den entsprechenden Geräten installieren. Damit fallen zwar alle XP-Machinen aus dem Rennen, aber das wäre auch nur eine Frage der Zeit gewesen.



    Freitag, 30. August 2013 12:58

Alle Antworten

  • Hallo Umbrella_Corp,

    Hast auf diese Systemen eine Fehler empfangen oder eine Exception? Passiert dass auf alle Win Xp un Win 7 Systemen oder nur auf einige?

    Gruss,

    Ionut


    Ionut Duma, MICROSOFT   Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-PrinzipEntwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Donnerstag, 29. August 2013 14:03
    Moderator
  • Hallol Lonut

    Das ist ja das Problem ich bekomme weder eine Exeption noch ist in der Windows Ereignissanzeige ein Eintrag und es passiert nur auf einigen Systemen. Aber auf allen getesteten Systemen ist .Net und die vc_Redist installiert.

    Die Daten der Datatable kann ich auch auslesen und dort sind die Einträge auch vorhanden.

    Wie schon erwähnt wird auch im DataGrid die Rows Angezeigt nur halt ohne Columnheader und Inhalt, wenn dieser Fall eintritt sind die Rows auch nicht selektierbar.

    Grüße

    Umbrella_Corp

    Nachtrag: Ich habe beim Laden der Daten den ersten Eintrag im Datagrid auswählen lassen und auf einen System getesten wo der besagte Fehler auftritt.

    dg_Kalenderdaten.SelectedIndex = 0

    Die Felder der Eingabemaske die aus dem DataGrid gefüllt werden bleiben leer.

    Wenn ich nun über meine Eingabemaske einen neuen Datensatz erstelle und hinzufüge wird dieser auch hinzugefügt aber genauso wie die anderen Datensätze nicht angezeigt. Nun habe ich die Daten auf einem System eingelesen wo es funktioniert und die eingegeben Daten werden korrekt angezeigt. Also ist scheint das Problem an der Visualisierung des Datagrid selber zu liegen.


    Freitag, 30. August 2013 06:10
  • Hi,

    von Fernen ist da einen genau Analyse schwer. Der Code sieht jetzt erst mal so aus als ob er überall laufen sollte.

    Schau mal ob auf den Systemen auf denen es läuft das 4.5 Framework installiert ist. Mit dem Framework wurden auch Änderungen am 4.0 Framework ausgeliefert.

    Fürst du parallel noch anderen Code aus?

    Handelt es sich um eine RDP Sitzung oder ähnliches.

    Erstelle vielleicht mal ein einfaches Beispielprogramm in dem es nur ein Grid gibt welches Datendarstellt.

    Ansonsten schau mal bitte was anders ist bei den Rechnen ist auf denen es Funktioniert und den Rechnern auf denen es nicht Funktioniert.

    MFG

    Björn

    Freitag, 30. August 2013 10:08
  • Hallo Björn

    Threads, Dispatcher oder ähnliches besitzt das Programm nicht. .Net 4.5 ist leider auf XP Systemen nicht installierbar, daher habe ich max. 4.0 als Anforderung.

    Alle Clients haben außer die Win 8 Geräte nur 4.0 installiert und sind bis auf einige Außnahmen auch auf dem aktuellen Patch Stand und denoch läuft es auf einigen Systemen und auf anderen wiederum nicht.

    Sicherlich sind die Hardwarekomponenten unterschidlich aber das dürft dieses Behavior nicht auslösen!?

    Das Programm wird lokal aufgeführt und baut beim laden der Daten eine SQL-Verbindung auf.

    Wie bereit erwähnt funktioniert die kommunikation zwichen Programm und SQL-DB auch problemlos.Ich werde aber denoch mal das mit dem .Net 4.5 zumindest auf den Win7-Problem-Systemen mal testen und spät. Mo ein Feedback geben.

    Danke schonmal an alle für die Hinweis

    Grüße

    Umbrella_Corp

    Nachtrag: habe an einem Client an dem der Fehler auftrat .net4.5 Installiert und nun läuft es dort. Das ist zwar schön aber erklärt nicht warum der Fehler auf einigen Systemen(wohlgemerkt Alle Sytem mit 4.0) und auf anderen nicht geht.

    Werde das Montag noch genauer prüfen.

    Nachtrag 2: so habe jetzt versucht auf einem System zu kompilieren das nur 4.0 besitzt. leider habe ich nur zugriff auf die 2012 Version von Visual Studio welche nunmal 4.5 vorraussetz um überhaupt zu laufen :( Das kann doch wohl nicht so schwer sein wenn ich ihm sage das nur 4.0 verwendet wird, das dies auch geschiet und nicht 4.5 installiert werden muss.

    Ich denke mal wenn ich am Montag keine Adequate Lösung gefunden habe muss es wohl so sein.

    Nachtrag 3: Also es liegt definitiv am .Net es reicht nicht das Projekt als .Net 4.0 Projekt zu kompilieren wenn .Net 4.5 installiert ist, da er aus welchem Grund auch immer die Biliotheken von 4.5 verwendet.

    Damit ist für mich das Problem erstmal eingegrenzt und ein Lösungsweg vorhanden, der heist .Net 4.5 auf den entsprechenden Geräten installieren. Damit fallen zwar alle XP-Machinen aus dem Rennen, aber das wäre auch nur eine Frage der Zeit gewesen.



    Freitag, 30. August 2013 12:58