Jagged arrays sortieren

  • VB.NET
  • .NET (FX) 4.0

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von joniator.

    Jagged arrays sortieren

    Hey
    Ich möchte eine jagged array(also all_values) sortieren, nach name,id oder beitrittsdatum(Wobei das sorten eigendlich rein optional ist.)

    Die array ist so aufgebaut:
    Userid : 1,2,3,4,5,6,7,8,9
    Username: dTest1,cTest2,etest,atest,usw...
    dEnterdate: 2014-12-22 16:19:20.793

    all_values = {dwUserID.ToArray, dwUserName.ToArray, dEnterDate.ToArray}



    Was ich schon versucht habe:
    informit.com/guides/content.aspx?g=dotnet&seqNum=151
    Danke!
    Mfg
    Wer Rechtschreibfehler findet darf sie behalten :)
    Uii, das hört sich ja toll an :)
    Kann man da auch nur einzelne daten aus dem dataset in eine datagridview packen? Also nur z.b die spalte username und wenn man dann halt mit einem datagridview die daten auswählt das dann in nem lable seitlich auswählen?
    Mfg
    Wer Rechtschreibfehler findet darf sie behalten :)

    joniator schrieb:

    schleifen
    So was:

    VB.NET-Quellcode

    1. For i = 0 To Me.TextBox1.Lines.Count - 1
    2. Me.DataGridView1.Item(5, i).Value = Me.TextBox1.Lines(i)
    3. Next

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    was bedeutet "Column in DGV übertragen"?
    Ein DGV zeigt zunächstmal alle Columns einer DataTable an, wieso sollte man eine einzelne übertragen wollen?
    Wenn du die anneren Columns nicht sehen willst, blende sie halt aus.
    Generell sollte man nicht in den Zellen eines DGVs herumhühnern, also genau das nicht, was Rod vorturnt.
    Ist natürlich dennoch so möglich, aber man sollte einen guten Grund haben, sowas zu verzapfen - meist finden sich viel einfachere Lösungen.
    So hab das einfach geschafft :

    VB.NET-Quellcode

    1. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    2. table1.Columns.Add("dwUserID")
    3. table1.Columns.Add("dwUserName")
    4. table1.Columns.Add("dwCharID")
    5. table1.Columns.Add("Charname")
    6. table1.Columns.Add("bLuckyNumber")
    7. table1.Columns.Add("dEnterDate")
    8. table1.Columns.Add("szLoginIP")
    9. table1.Columns.Add("cCountryid")
    10. table1.Columns.Add("cCountrynam")
    11. table1.Columns.Add("Classe")
    12. table1.Columns.Add("lvl")
    13. table1.Rows.Add("abc","5abc","abc","abc","abc","abc","abc","abc","abc","abc")
    14. table1.Rows.Add("abc","1abc","abc","abc","abc","abc","abc","abc","abc","abc")
    15. table1.Rows.Add("abc","3abc","abc","abc","abc","abc","abc","abc","abc","abc")
    16. table1.Rows.Add("abc","2abc","abc","abc","abc","abc","abc","abc","abc","abc")
    17. end sub
    18. For i = 0 To table1.Rows.Count - 1
    19. DataGridView1.Rows.Add(table1.Rows.Item(i).ItemArray(1), table1.Rows.Item(i).ItemArray(3), table1.Rows.Item(i).ItemArray(6), table1.Rows.Item(i).ItemArray(5), table1.Rows.Item(i).ItemArray(8))
    20. Next


    Wie kann ich jetzt die gesamte DataTable nach "dwUserName" sortieren ?
    Mfg :)
    Wer Rechtschreibfehler findet darf sie behalten :)
    @ErfinderDesRades : Ja, sry :)
    Also da sind zu viele daten, wie ich oben schon angedeutet hab, also hab ich das so gehandelt dass nur die wichtigsten daten angezeigt werden, also name,charaktername, joindate. Sowas wie haarfarbe, persönliche daten sollen dann bei dem selektieren in nem label angezeigt werden. Ich hoffe das beantwortet deine frage.
    Jetzt hab ich das halt gelöst, und möchte gern wissen wie ich das ganze nach name sortiere, wie es eigendlich .
    Mfg :)
    Wer Rechtschreibfehler findet darf sie behalten :)
    Du meinst, es sind zu viele Spalten. Die Menge der Daten ist ziemlich schnuppe.
    Ja, und mit deim untypisierten DataTable-Ansatz kommst du da nicht weit.
    Ein Tut für den typisierten Ansatz ist ja bereits in post#4 verlinkt - hastes mal angeguckt, und was hälst du davon? (erste Frage in diesem Post)

    joniator schrieb:

    also hab ich das so gehandelt dass nur die wichtigsten daten angezeigt werden, also name,charaktername, joindate. Sowas wie haarfarbe, persönliche daten sollen dann bei dem selektieren in nem label angezeigt werden.
    Das ist genau die Definition eines DetailViews - also guck dir das Tut mal an.
    Man erzeugt nicht untypisierte Datatables mit weniger Spalten, sondern man verwendet ganz normal voll ausgebildete typisierte DataTables, aber im Form-Designer schmeißt man einfach die DGV-Columns, die man nicht im DGV haben will, raus.
    Wohlgemerkt die DGV-Columns - die DataColumns der DataTable bleiben unangetastet. Die brauch man ja auch, um die Labels etc. daran zu binden (den DetailView).

    Sortieren ist dann bereits eingebaut - man braucht nur auf eine Spalten-Überschrift zu klicksen.

    Meine 2. Frage in diesem Post: Klappt das bei deim Ansatz auch schon, mit dem Sortieren, indem man auf die Spalten-Überschrift klickst?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()