tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
10
ZUGRIFFE
24710
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    BeaTBoxX BeaTBoxX ist offline Mitglied Platin
    Registriert seit
    Mar 2003
    Ort
    Nürnberg
    Beiträge
    525
    Hallo zusammen,

    kann mir bitte jemand nen Hinweis geben, wie ich mit selectedRows eineZeile aus dem DataGridView lösche?, und wie ich es hinkriege eine markierte Zelle mit Text zu editieren?
    Habe auch hier schon rumgesucht aber nix passendes gefunden.
    Wie genau funktioniert das mit Beginedit & Endedit ?


    Vielen Dank

    Gruß
    Frank
    Geändert von BeaTBoxX (25.09.07 um 11:27 Uhr)
     
    Nürnberg ist die geheime Welthaupstadt der Musik, das weiss nur noch keiner :-)

  2. #2
    Avatar von the incredible Leitman
    the incredible Leitman the incredible Leitman ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    ÖSTERREICH
    Beiträge
    406
    hmm... habe bisher nur c1FlexGrid verwendet...

    Gibts nicht Methoden wie Remove oder RemoveAt?

    Ich glaube, den Wert einzelner Zellen kannst du ändern, indem du sie direkt ansprichst und einfach einen Wert zuweist:
    Code cpp:
    1
    
    Grid[row, col] = "Text";
    ...zumindest beim FlexGrid so...

    Begin- und EndEdit sind Events...

    Damit kannst du festlegen, wie dein Programm vorgehen soll, wenn eine Zelle editiert wird / wurde... Lies mal in der MSDN nach, da findest du sicher etwas

    mfG
    the incredible Leitman
     
    Meine Blogs:
    theIncredibleLeitman.blogspot.com // Tec
    Gamesdev.de // Gamedevelop

    Ein echter Programmierer hat nur natürliche 3 Feinde:
    • Sonnenlicht
    • Frischluft
    • und das unerträgliche Gebrüll der Vögel
    Ownage
    steht für die Fähigkeit einer Person, andere zu ownen, zum Beispiel „Ich habe die totale ownage.“ Gleichzeitig kann es aber auch die positive Qualität einer Sache beschreiben: „Counterstrike owns!“
    (siehe:http://de.wikipedia.org/wiki/Computerspieler-Jargon)

  3. #3
    BeaTBoxX BeaTBoxX ist offline Mitglied Platin
    Registriert seit
    Mar 2003
    Ort
    Nürnberg
    Beiträge
    525
    Oh sorry hast mich falsch verstanden,

    ich meine natürlich editieren als Benutzer der App. , nicht im Code %)
    Also auf Zelle klicken -> Text editieren können. Und in der MSDN hab ich schon bissl gesucht. entweder war ich zu doof, oder das Thema wird so direkt nicht behandelt %)

    Danke schonmal


    Gruß
    Frank
     
    Nürnberg ist die geheime Welthaupstadt der Musik, das weiss nur noch keiner :-)

  4. #4
    BeaTBoxX BeaTBoxX ist offline Mitglied Platin
    Registriert seit
    Mar 2003
    Ort
    Nürnberg
    Beiträge
    525
    Ah ich hab schon einiges gefunden:

    Grid muss readonly = false sein und ensprechender Editmode gesetzt, dann kann man per beginedit editieren.

    DataGridView.AllowUserToDeleteRows
    laesst loeschen einer Row per "del" drücken zu.

    Frage noch:

    Mit welcher Methode lösche ich eine bestimmte (selektierte) Row? Also wenn ich das z.b. durch drücken eines Buttons auslösen will?
     
    Nürnberg ist die geheime Welthaupstadt der Musik, das weiss nur noch keiner :-)

  5. #5
    Avatar von the incredible Leitman
    the incredible Leitman the incredible Leitman ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    ÖSTERREICH
    Beiträge
    406
    hm.. ich versteh nicht ganz

    Willlst du die Zellen nun komplet löschen oder editieren

    Eigentlich ist das glaub is standard, dass sich die einzelnen Zellen über die Tastatus editieren lassen?
    Also wie in Excel...

    Wenn du komplette Spalten oder Zeilen löschen möchtest kommst du wahrscheinlich nicht drum rum, dir ein ordentliches Event Handling schreiben zu müssen

    Probiers doch mal mit Key Events

    Also, wenn "DEL" gedrückt wird ->Remove

    EDIT 2:
    *lol*
    Sag ich doch ...nur halt später >.<
    oder über ein Kontext Menu, das du bei rechter Maustaste anzeigst?
    Mit Spalte / Zeile hinzufügen / entfernen?


    EDIT:
    Ich verstehe dein Problem nicht o.O

    Habe gerade ein bisschen mit dem DataGrid experimentiert.

    Wenn die Anwendung läuft, kann man als Benutzer mit den Default Einstellungen einfach Werte (neue Zeilen) hinzufügen, indem man einfach Text über die Tastatur eingibt.
    Genauso kann ich sie editieren... wie in Excel.

    Löschen kannst du einzelne Zeilen, indem du ganz links auf den frozen Bereich drückst und dann "Entfernen".

    Vielleicht sind die Properties "AllowUserToAddRows" und "AllowUserToDeleteRows" deaktiviert?

    mfg
    the incredible Leitman
    Geändert von the incredible Leitman (26.09.07 um 11:37 Uhr) Grund: 2 fast 4 me -.-
     
    Meine Blogs:
    theIncredibleLeitman.blogspot.com // Tec
    Gamesdev.de // Gamedevelop

    Ein echter Programmierer hat nur natürliche 3 Feinde:
    • Sonnenlicht
    • Frischluft
    • und das unerträgliche Gebrüll der Vögel
    Ownage
    steht für die Fähigkeit einer Person, andere zu ownen, zum Beispiel „Ich habe die totale ownage.“ Gleichzeitig kann es aber auch die positive Qualität einer Sache beschreiben: „Counterstrike owns!“
    (siehe:http://de.wikipedia.org/wiki/Computerspieler-Jargon)

  6. #6
    Avatar von the incredible Leitman
    the incredible Leitman the incredible Leitman ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    ÖSTERREICH
    Beiträge
    406
    Es gibt die Properties "CurrentCell", "CurrentRow"
    die dir ein Object zurückgeben.

    Diese kannst du dann einfach löschen.
    Code cpp:
    1
    
    this->dataGridView1->Rows->Remove(this->dataGridView1->CurrentRow);
    Geht natürlich auch über den Index... mit RemoveAt(index)

    Weiß nicht ob das funktioniert, war lediglich eine logische Schlussfolgerung auf die Properties,
    kann mir aber vorstellen, das das klappt

    Wenn nicht...
    Tja, du weißt ja, wo du mich findest

    mfG
    da Leitman
    Geändert von the incredible Leitman (26.09.07 um 11:46 Uhr)
     
    Meine Blogs:
    theIncredibleLeitman.blogspot.com // Tec
    Gamesdev.de // Gamedevelop

    Ein echter Programmierer hat nur natürliche 3 Feinde:
    • Sonnenlicht
    • Frischluft
    • und das unerträgliche Gebrüll der Vögel
    Ownage
    steht für die Fähigkeit einer Person, andere zu ownen, zum Beispiel „Ich habe die totale ownage.“ Gleichzeitig kann es aber auch die positive Qualität einer Sache beschreiben: „Counterstrike owns!“
    (siehe:http://de.wikipedia.org/wiki/Computerspieler-Jargon)

  7. #7
    BeaTBoxX BeaTBoxX ist offline Mitglied Platin
    Registriert seit
    Mar 2003
    Ort
    Nürnberg
    Beiträge
    525
    Ja klappt alles soweit.. ich Vogel hab beim anlegen der Collumns bei einem ein Readonly True gesetzt.

    Da hilft ein allgemeines Readonly false bei dem DataGridView objekt natuerlich nix o_O


    soweit so gut.

    Frage noch:

    Ich hab das so verstanden: sobald ich das edieren beendet habe (Text rein -> Enter)
    wird der EndEdit Event ausgelöst. ist das falsch?

    Ich finde in der Eventliste nur ein CellEndEdit. das ist doch nicht das gleiche oder?
    Mein Ziel ist die Inhalte des Grids in einen Container zu übernehmen. Aber anscheinend hab ich den falschen Event %)

    Hast du noch nen Tip fuer mich?

    Danke

    Gruß
    Frank
     
    Nürnberg ist die geheime Welthaupstadt der Musik, das weiss nur noch keiner :-)

  8. #8
    Avatar von the incredible Leitman
    the incredible Leitman the incredible Leitman ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    ÖSTERREICH
    Beiträge
    406
    Hey yo

    Ich habe gerade zuhause mir noch einmal das DataGrid angesehen...
    Wer lesen kann ist klar im Vorteil:
    CellEndEdit... Occurs when edit mode stops for the currently selected cell.
    und das habe ich aus der MSDN ;P
    Doch, der Beschreibung nach zu urteilen, würde ich sagen, das ist genau das, was du suchst
    Wie bereits erwähnt, ich hatte bis heute nur mit dem Component One FlexGrid zu tun,
    da heißt das halt anders, tut aber das Gleiche.

    Wie jetzt falsches Event? o.O
    Wird es nicht aufgerufen oder wie?
    Aber so würd ichs auch machen...

    Im CellEndEdit Event Handler eine Methode, die den Inhalt der aktuellen Zelle (->CurrentCell) in einem Array/List/Collection Member speichert...

    Funktioniert das etwa nicht?

    mfg
    the incredible Leitman

    PS: Hab heute leider noch viel zu tun, werde bei Gelegenheit morgen nochmal sehen, was ich machen kann
     
    Meine Blogs:
    theIncredibleLeitman.blogspot.com // Tec
    Gamesdev.de // Gamedevelop

    Ein echter Programmierer hat nur natürliche 3 Feinde:
    • Sonnenlicht
    • Frischluft
    • und das unerträgliche Gebrüll der Vögel
    Ownage
    steht für die Fähigkeit einer Person, andere zu ownen, zum Beispiel „Ich habe die totale ownage.“ Gleichzeitig kann es aber auch die positive Qualität einer Sache beschreiben: „Counterstrike owns!“
    (siehe:http://de.wikipedia.org/wiki/Computerspieler-Jargon)

  9. #9
    BeaTBoxX BeaTBoxX ist offline Mitglied Platin
    Registriert seit
    Mar 2003
    Ort
    Nürnberg
    Beiträge
    525
    Hm ich hab beim auftreten des Events gleich das ganze Grid ausgelesen. Evtl sollte ich mal explizit die eine Zelle angreifen. Naja gut mal sehen ich probier das mal aus.

    Was ist an der Gridklasse, die du verwendest anders?


    Gruß
    Frank
     
    Nürnberg ist die geheime Welthaupstadt der Musik, das weiss nur noch keiner :-)

  10. #10
    Avatar von the incredible Leitman
    the incredible Leitman the incredible Leitman ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    ÖSTERREICH
    Beiträge
    406
    Naja... Prinzipiell ander ist nichts..
    Nur ist das Ding halt kein Windows Forms Control, sondern was eigenes...
    verwendet eigene Structs, die Events heißen anders.... Und sieht ein bisschen mehr nach Excel aus, nicht so wie das DataGridView Ding.
     
    Meine Blogs:
    theIncredibleLeitman.blogspot.com // Tec
    Gamesdev.de // Gamedevelop

    Ein echter Programmierer hat nur natürliche 3 Feinde:
    • Sonnenlicht
    • Frischluft
    • und das unerträgliche Gebrüll der Vögel
    Ownage
    steht für die Fähigkeit einer Person, andere zu ownen, zum Beispiel „Ich habe die totale ownage.“ Gleichzeitig kann es aber auch die positive Qualität einer Sache beschreiben: „Counterstrike owns!“
    (siehe:http://de.wikipedia.org/wiki/Computerspieler-Jargon)

  11. #11
    BeaTBoxX BeaTBoxX ist offline Mitglied Platin
    Registriert seit
    Mar 2003
    Ort
    Nürnberg
    Beiträge
    525
    Vielen Dank! alle Probs gelöst

    Und C# wird immer mehr zu meinem Favourit


    Gruß
    Frank
    Geändert von BeaTBoxX (28.09.07 um 08:54 Uhr)
     
    Nürnberg ist die geheime Welthaupstadt der Musik, das weiss nur noch keiner :-)

Ähnliche Themen

  1. DataGridView - farbige Zellen und Sortierungen
    Von benji2010 im Forum .NET Datenverwaltung
    Antworten: 3
    Letzter Beitrag: 31.08.11, 21:22
  2. Zellen verbinden in DataGridView
    Von tomkruse im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 28.09.09, 13:46
  3. [C#] DataGridView, Zellen wie bei Excel formatieren
    Von chris_de_luxe im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 12.01.09, 15:14
  4. Access DataGridView, bestimmte Reihen suchen und löschen
    Von JodoK im Forum .NET Datenverwaltung
    Antworten: 7
    Letzter Beitrag: 24.11.08, 16:28
  5. JTable: Zellen Editieren und ausrichten
    Von p1ttypl4tsch im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 14.05.08, 07:27