Suchergebnisse

Suchergebnisse 1-12 von insgesamt 12.

  • Benutzer-Avatarbild

    Hi, ich versuche in einer DatagridView die Sortierreihenfolge für Vokale mit Akzenten einer Spalte zu verändern. Die übliche Reihenfolge etwa a < á < à soll verändert werden (das ist für meine Anwendung sehr wichtig). Ich scheitere schon an den Begrifflichkeiten: IComparer und IComparable ... was ist denn der Unterschied .... und was sollte ich hier am Besten verwenden ? Ich hab dann mal ÜBUNGSHALBER eine ICOMPARER Klasse definiert, die einfach case insensitive + ignore apostrophes vergleichen s…

  • Benutzer-Avatarbild

    Also die Änderungen der Klasse funktionieren auf Anhieb. Die Kompilerfehlermeldungen sind behoben. Leider klappt das mit dem Sortieren nicht - es kommt eine "wirre" Reihenfolge heraus ! Ich hab mir das im Debugger angeschaut. Hier passiert das Unglück: VB.NET-Quellcode (7 Zeilen) KeyOld und KeyNew werden as DATAGRIDVIEWROW {Index=...} angeliefert ... Der Vergleich liefert natürlich Schrott .... Ich benötige aber zum Vergleich den Wert einer bestimmten Zelle in der Spalte "itmForeign" ... wie kan…

  • Benutzer-Avatarbild

    Vielen Dank erst mal an die Ratgeber. @Joshi: schöne Erklärung für den Unterschied zwischen IComparer und IComparable. @RFG: Jau ... das mit Return myOldKey.CompareTo(myNewKey) hatte ich abgeändert und den Rückgabewert (-1, 0, 1) selbst "errechnet". Ich hab die Anweisung jetzt geändert, das macht aber keinen Unterschied ... Zitat von RodFromGermany: „Was für ein Unglück?“ Das Unglück besteht darin, dass die Sortierreihenfolge nicht stimmt ! So rufe ich den Sortierer aus der Eventprozedur dgvDict…

  • Benutzer-Avatarbild

    @RFG Schau dir doch einmal die Ausgabe der sortierten Spalte "Tagalog" an ... die soll aufsteigend sein ... die ersten drei Zeilen beginnen aber mit n(inyo) i(yo) p(angako) n - i - p das ist mal absteigend und mal aufsteigend ... also mit Sicherheit nicht sortiert ! Ich hoffe, dass jetzt klar ist, warum ich mit dieser Reihenfolge nicht zufrieden bin ... Erwartet hätte ich folgende Reihenfolge: iyo ninyo pangako Tatsächlich ist die Sortierreihenfolge für ALLE Zeilen vollkommen konfus. Ich hab das…

  • Benutzer-Avatarbild

    @RFG: Ich hab das Gefühl, du verstehst mich nicht. Die zurückgelieferte Reihenfolge ist VÖLLIG durcheinannder ! Schau dir doch die "sortierte" Spalte "Tagalog" einfach mal an ! Was soll denn da das Vertauschen der Vergleichsoperanden bringen ? Natürlich hab ich das ausprobiert - aber erwartungsgemäß hat das nichts gebracht. Die Reihenfolge ist dann halt anders verstrubbelt ! Also: der Sort mit dem IComparer klappt nicht. Egal ob ich VB.NET-Quellcode (1 Zeile) oder VB.NET-Quellcode (1 Zeile) kodi…

  • Benutzer-Avatarbild

    @RFG: Na ... das mit dem Debugger habe ich natürlich schon zuvor versucht: VB.NET-Quellcode (7 Zeilen) Diese Routine wird ohne jeden Fehler durchlaufen. Der Code der Routine CompareTo wird allerdings NICHT angezeigt. Die Debugger Ausgaben sind wegen meiner Debug.Print Anweisungen natürlich endlos ... hier sind die ersten Zeilen: Quellcode (15 Zeilen) Welchen genauen Inhalt "myOldKey" bzw. "myNewKey" haben, das würde ich gern wissen ... habe aber keine Ahnung wie ich das anzeigen kann. Wie die Ro…

  • Benutzer-Avatarbild

    Jetzt habe ich das getan, was ich schon längst hätte tun sollen: ich habe ein TestProject aufgesetzt, um dem ICOMPARER auf die Schliche zu kommen. Eine datagridview DGVTEST mit zwei Spalten ... COLUMN1 und COLUMN2 ... Beide Spalten haben Sortmode PROGRAMATIC. COLUMN2 wird (zur Kontrolle) ganz normal mit dgvTest.Sort(column, direction) sortiert. COLUMN1 solll mit einem ICOMPARER case insensitive sortiert werden. Per Default soll ASCENDING sortiert werden ... wenn die Reihenfolge aber schon ascend…

  • Benutzer-Avatarbild

    Jau ... vollkommen richtig GENAU DIESE Frage habe ich schon zu Beginn dieses langen Threads gestellt ! s. Posting #4 Die Frage ist halt nur, wie ich an den ZeilenIndex komme ? Genau deshalb meine ich ja, dass die Konzeption der Lösung gemäß Spoiler im Posting #2 nicht in Ordnung ist. Trotzdem bin ich happy, dass endlich jemand mein Problem verstanden zu haben scheint ! LG Peter

  • Benutzer-Avatarbild

    @Vaporizel: Also, ich will ja gern zugestehen, dass du das alles schon in deinen früheren Posts angemerkt hast, dass hier eine DatagridRow verglichen wird und nicht der Inhalt der zu sortierenden Spalte. Das ist mir jetzt auch klar wie Kloßbrühe geworden. Auch wenn ich dazu einige Zeit gebraucht habe. Und ich will auch gern zugestehen, dass ich (sträflicherweise) deine Anmerkungen nicht so eingehend gelesen, gewürdigt und honoriert habe, wie das eigentlich angemessen gewesen wäre. Mea Culpa ! Ic…

  • Benutzer-Avatarbild

    Also, erst mal ganz herzlichen Dank für deine Erklärungen ! Ich starte einen vollkommen neuen Anlauf und versuche jetzt deine Lösung gemäß Beispielprojekt umzusetzen. Leider sind meine Kenntnisse begrenzt und deshalb fällt es mir schwer dein Coding nachzuvollziehen. Ich hoffe, du hast Geduld mit mir: Schon das Befüllen deiner DGV verstehe ich nicht: VB.NET-Quellcode (1 Zeile) VB.NET-Quellcode (6 Zeilen) Rows.Add() ... fügt der DGV eine neue Zeile hinzu, die hat genau eine Spalte FOOS (was bedeut…

  • Benutzer-Avatarbild

    Ok ... das verstehe ich. Ich wollte halt sicherstellen, dass hier nicht irgendeine Funktionalität enthalten ist, die auf die Logik des ICOMPARER Einfluss hat. Jetzt rufe ich den ICOMPARER auf. VB.NET-Quellcode (5 Zeilen) Zunächst wird wohl ein neuer TypedCustomStringComparer instanziert. Das mit dem CustomOrders.ForEach(Sub(x) ... ) ist wohl so zu verstehen, dass x der Reihe nach alle Elemente der StringListe CustomOrders durchläuft ? Aber warum wird CustomOrders zweimal definiert ? Und wieso mu…

  • Benutzer-Avatarbild

    Nochmals vielen Dank an alle Helfer ! Meine Routine schnurrt jetzt so wie sie soll ! Die Diskussion war lang ... und deshalb ist es mir ein Bedürfnis, das Ergebnis noch einmal auf den Punkt zu bringen: Der erste Ansatz hat einen untypisierten Comparer verwendet. Der liefert zwei Objekte, hinter denen sich dgv rows verbergen. Der fatale Fehler war, diese Objekte einfach mit ToString zu "überbügeln" und dann mit CompareTo zu vergleichen. Das KANN nicht funktionieren. Da hätte ich mich lange abstra…