tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1330
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von WaZZkeSS
    WaZZkeSS WaZZkeSS ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    148
    Hallo!

    Ich habe 2 Probleme, wobei ich mir das eine nicht erklären kann.

    Problem 1:
    Ich habe ein Typisiertes dataset, welches die Daten von einer SQL DB bezieht. Unter dem DataGrid habe ich für jede Spalte eine TextBox, welches mir die Werte von DataGrid anzeigt sobald ich die Betroffene zeile auswähle. Weiters habe ich noch 3 Buttons (Neu, Löschen, Speichern). Wenn man jetzt als beispiel eine Ware oder eine Person hinzufügen möchte, klickt man auf die schalfläche Neu, damit wird im DataGrid eine neue Zeile hinzugefügt und alle TextBox-Felder gelöscht, und man kann dann nach ausfüllen der Felder auf die Schalfläche Speichern klicken und der Datensatz wird dann in der DB gespeichert und die Daten werden im DataGrid neu angebunden und angezeigt. So, soweit so gut.
    Wie kann man die Daten absteigend Sortieren, so das der letzt eingefügte oben im DataGrid steht. und ich diese durch klicken einer Zeiler im DataGrid, bearbeiten kann.
    Die Daten werden folgender maßen in die DB gespeichert.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
            [COLOR=Blue]Try[/COLOR]
               [COLOR=SeaGreen] 'Die Eingaben in der Tabelle Kunden
                 'im DataSet Aktualisieren[/COLOR]
                daKunden.Update(ds.t_Kunden)
     
            [COLOR=Blue]Catch [/COLOR]ex [COLOR=Blue]As [/COLOR]Exception
               [COLOR=SeaGreen] 'Bei fehler gib die Meldung aus[/COLOR]
                MessageBox.Show(ex.Message)
            [COLOR=Blue]End Try[/COLOR]



    Problem 2:
    Tja, das kann ich mir nicht erlären.
    Wenn ich einen Kunden löschen möchte, welches auch problemlos funktioniert, bekomme ich ziehmlich of diese anzeige (Anhang). Es ist zwar nicht jedesmal aber ofters halt. Das komische ist, sobald ich igend wo im weißen Bereich klicke, wrid die Zelle darunter gezeigt. Allerdings der Wert.
    Die Zeile wird folgenderaßen gelöscht.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
            [COLOR=Blue]Try[/COLOR]
               [COLOR=SeaGreen] 'Löschen den gewählten Eintrag[/COLOR]
                ds.t_Kunden.Rows(dtgKunden.CurrentRowIndex).Delete()
                [COLOR=SeaGreen]'Aktualisier die Tabelle[/COLOR]
                daKunden.Update(ds.t_Kunden)
               [COLOR=SeaGreen] 'Aktualisiere den DataGrid[/COLOR]
                dtgKunden.Refresh()
            [COLOR=Blue]Catch [/COLOR]ex [COLOR=Blue]As [/COLOR]Exception
               [COLOR=Blue] [COLOR=SeaGreen]'Bei fehler gib die Meldung aus[/COLOR][/COLOR]
                MessageBox.Show(ex.Message)
           [COLOR=Blue] End Try[/COLOR]



    Ich hoffe das mein Problem verständlich ist und ihr mir bei meinem Problem behilflich sein. Bitte auch keine Verweise auf andere Links oder so, weil ich schon lange nach dem Problem gesucht und sogar Bekannte danach gefragt habe.
    Ich danke im vorhinein für jede Hilfe.


    WaZZkeSS
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken 2 Probleme beim DataGrid. beim Löschen und Hinzufügen einer Zeile-24808attachment.jpg  
     

  2. #2
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Hi!

    @Problem1:
    Du kannst mit DataRowCollection.InsertAt (DataTable.Rows) problemlos einfügen.

    Aber was soll denn passieren wenn Du noch einen neuen hinzu fügst?
    Sollen jetzt alle neuen Datensätze oben eingefügt werden und der Rest nach unten rutschen?
    Währe es nicht einfacher sich auf das Sortieren zu beschränken
    und den aktuellen nach dem Einfügen einfach im DataGrid auszuwählen? Nur mal so eine Idee...
    In dem unten stehenden Snipped siehst eine Möglichkeit mittels eines DataViews Alle Einträge zu sortieren.
    Code csharp:
    1
    2
    
    dataView.Sort = colHeadName + " ASC";
    dataGrid.Refresh();
    Wenn Du hier aber unbedingt willst, dass der zuletzt eingefügte oben steht,
    wirst mit der Sortorder nicht sehr weit kommen.

    = http://www.google.de/search?hl=de&q=...g_de%7Clang_en

    @Problem2:
    Schaut echt seltsam aus. *g*
    Verwendest hier evtl Threading?
    Also ich kenn die VB Syntax nicht mehr so gut. Aber es schaut so aus als ob Du eine Row löschen willst,
    auf die im Moment via Indexer zugegriffen wird. Schätze mal wenn Du die die Referenz der Row holst. sollte es gehen...
    Oder versuch es mal mit DataTable.Rows.RemoveAt.

    MfG,
    cosmo
    Geändert von Christian Kusmanow (14.06.06 um 10:32 Uhr)
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  3. #3
    Avatar von WaZZkeSS
    WaZZkeSS WaZZkeSS ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    148
    Hi!
    ich habe es aufsteigend sortieren lassen und dann die letzte eingefügte Zeile gewählt.

    Naja, danke trotzdem.

    Und wegen den 2. problem, den habe ich noch nicht herausgefunden.


    WaZZkeSS
     

Ähnliche Themen

  1. C# Neue Zeile hinzufügen (DataGrid, DataSet)
    Von kerrigan im Forum .NET Datenverwaltung
    Antworten: 1
    Letzter Beitrag: 13.05.10, 19:30
  2. Antworten: 5
    Letzter Beitrag: 29.06.08, 17:46
  3. Antworten: 5
    Letzter Beitrag: 20.02.06, 19:36
  4. Probleme beim Sortieren in einem dataGrid
    Von jenskl im Forum .NET Archiv
    Antworten: 0
    Letzter Beitrag: 09.09.04, 21:55
  5. Antworten: 3
    Letzter Beitrag: 29.07.04, 12:57