Sehr lange Zeilen flüssig scrollen



  • Hallo, ich bins wieder

    bis jetzt konnte ich alle Problem so weit lösen, aber jetzt komme ich nicht weiter
    ich habe eine dataGridView mit 70 Zeilen gefüllt, die ich aus einer Datei einlese, jedes mal wenn mit dem Mausrad gescrollt wird, verschiebt sich der Bildlauf um 3 Zeilen und es wird die Datei um 3 zeilen in die jeweilige Bildlaufrichtug versetzt, neu eingelesen,
    es werden wieder genau 70 zeilen gelesen

    Beispiel:
    Ich bin in Zeile 0, scrolle nach unten (+3)
    -> es wird ab Zeile 3 bis Zeile 73 gelesen, der Inhalt des dataGridView wird ersetzt

    Mein Problem:
    Die Zeilen sind ca 3100 Zeichen lang, und weder dataGridView noch Richtextbox scheinend das richtig handeln zu können, immer wenn ich scrolle funktioniert das zwar, aber nur sehr verzögert und langsam

    Hier der Code mit dem ich den Text in das dataGrid übernehme:

    if ((multiplikator +LENGTHLINECOUNTER +MSGHEADER +MSGTIME) < outputlength)
    {
    String^ lineende = (output->Substring(multiplikator +LENGTHLINECOUNTER +MSGHEADER +MSGTIME)); 
    int lineendeindex = lineende->IndexOf("\n")+1;
    
    String^ stringa = output->Substring(multiplikator, LENGTHLINECOUNTER);
    dataGridView1->Rows[round]->Cells[0]->Value = stringa;
    dataGridView1->Rows[round]->Cells[0]->Style->BackColor = Color::Thistle;
    
    String^ stringb = output->Substring(multiplikator +LENGTHLINECOUNTER, MSGHEADER);
    dataGridView1->Rows[round]->Cells[1]->Value = stringb;
    
    String^ stringc = output->Substring(multiplikator +LENGTHLINECOUNTER +MSGHEADER, MSGTIME);
    dataGridView1->Rows[round]->Cells[2]->Value = stringc;
    dataGridView1->Rows[round]->Cells[2]->Style->BackColor = Color::Gainsboro;
    
    String^ stringd = output->Substring(multiplikator +LENGTHLINECOUNTER +MSGHEADER +MSGTIME, lineendeindex);
    dataGridView1->Rows[round]->Cells[3]->Value = stringd;
    
    multiplikator = multiplikator +LENGTHLINECOUNTER +MSGHEADER +MSGTIME + lineendeindex;
    }
    


  • okay, kann geschlossen werden

    hier meine Lösung, statt jedes mal eine komplett neue Seite in die Textbox zu laden (was die bremse war), habe ich bei scrollen nur den jeweils neuen text unten bzw oben eingefügt
    damit ist dieser thread auch erledigt: http://www.c-plusplus.net/forum/311386
    lg ZF


Anmelden zum Antworten