ListViews: Ich komm net klar damit



  • hi

    ich versuch mich grad in c# einzuarbeiten und versuche grad ein listview mit daten zu füllen...

    irgenedwie bekomm ich das aber net hin

    ok mein objekt heist lV_PRT_VIEW
    wie weis ich diesem objekt jetzt 2 spalten zu
    (uhrzeit / nachricht)

    und sobald ich diese spalten erstellt hab
    will ich da dann halt auch was rein schreiben
    (1. spalte soll 100 pixel 2. spalte 600 pixel)

    irgendwie bekommi ch das net hin
    der schreibt mir immer 6 spalten in eine zeile ich kann die spalten nur einzeln selektieren (will aber gern zeilenweise)

    also nix funktioniert so wie ich mir das gedacht hab
    und leider hab ich bisher nur kleine code schnipsel gefunden die mir aber nicht weiter helfen

    kann jemand bitte so nett sein und mir erklären wie ich nun dieses listview erstellen muss damit es alles so macht wie ich es gern hätte 🙂

    thx im vorraus
    LT



  • LordTerra schrieb:

    ich versuch mich grad in c# einzuarbeiten und versuche grad ein listview mit daten zu füllen...

    1. Welches UI-Framework? WinForms oder WPF...?
    2. Deine Objektbezeichnung ist sehr merkwürdig, erstens widerspricht sie eigentlich allen unter C# üblichen Konventionen (Ich orientiere mich hierbei an den von Microsoft (Speziell "Guidelines for Names")), zum anderen kürzt man in der Regel Namen auch nicht kryptisch ab.
    3. Du könntest einfach mal etwas Code von deinem bisherigen Versuch zeigen (dann hätte sich Punkt 1. auch vielleicht nicht gestellt).

    Und Voraus schreibt man nicht mit zwei r 😉



  • hi

    jo vielleicht etwas unglücklich geschrieben...

    es geht um: System.Windows.Forms.ListView

    ich habe ein ListView erzeugt name: lV_PRT_View
    diesem view will ich dynamisch immer wenn ich eine aktion ausführe eine zeile mit uhrzeit + text hinzufügen (2 spalten)

    dafür gibt es bei mir die funktion:
    messageShow(string msg, int typ);
    diese funktion sieht derzeit so aus:

    public void showMessages(string msg, int typ) {
                string std = String.Format("{0:00}", DateTime.Now.Hour);
                string min = String.Format("{0:00}", DateTime.Now.Minute);
                string uhrzeit = "" + std + ":" + min;
    
    //variante mit datagridview
    
                dGV_PRT.Rows.Add("0", uhrzeit, msg);
    
    //variante mit listview
    
                lV_PRT_VIEW.Items.Add(new ListViewItem(new string[] { uhrzeit, msg }));
                lV_PRT_VIEW.EnsureVisible(lV_PRT_VIEW.Items.Count - 1);
            }
    

    das sieht dann so aus:

    http://www.bilder-space.de/bilder/c0d8b3-1334743646.jpg

    mein problem bei dem unteren fester
    1.) es werden keine formatierungen benutzt
    2.) 8 einträge in einer zeile

    wie bekomm ich das so hin das es wie oben ordentlich untereinander in 2 spalten dargestellt wird?



  • Wie ich bereits bei MyCSharp sagte, musst du einfach die Darstellung ändern. Aber du hast ja bei MyCSharp schon nicht auf mich gehört.

    Stichwort: ListView.View

    Alles weitere erklärt dir die MSDN.



  • hat nichts mit nicht auf dich gehört zu tun ...
    ich hab nur bei mysharp erstmal mit datagridview das gemacht ...
    weil mir dieses objekt für meinen fall besser gefallen hat ...
    das objekt hat halt schon n paar eigenschaften die hier für mich sinnvoller sind ...

    nichts desto trotz interessiert mich was ich bei dem listview falsch gemacht hab ... du sagst ich soll das view anpassen nur haste net erwähnt was ich wo wie machen soll ..

    sorry aber hab erst vor 3 tagen angefangen mit c# ...
    deine antwort is ungefähr so als ob du das 1. mal bei WoW rein kommst und ich dich anschreibe mit: "na was machste in if willste ne vz für deine schultern oder nen gem ... " damit kann nen normal sterblicher auch nix anfangen ...

    klar is es für dich nix neues und klar was du meinst aber für mich als grad mal in die programiersprache rein geguckter halt net ...



  • Aber Karill Endusa hatte ausgeführt, worauf ich mich beziehe! Du solltest halt nur Antworten lesen anstatt immer wieder Fragen zu stellen. Hilft enorm beim Lernprozess.

    Mein Verweis auf die MSDN war auch nicht, weil ich weiß wie man mit dem ListView arbeitet, sondern weil es dort ausführlich beschrieben ist. Erste Anlaufstelle bei Problemen die sich auf die Verwendung von .NET Klassen und Controls beziehen sollte immer die MSDN sein.

    Dein Vergleich mit WOW hinkt. Programmierung ist etwas wo man sich aktiv am lernen beteiligen sollte.

    Um noch einmal ein ähnliches Snippet zu geben, wie Karill Endusa bei MyCSharp gab:

    lV_PRT_VIEW.View = View.Details;
    


  • hmmm es haben halt mehrere geantwortet ...
    und ich hab halt mich erstmal um die antworten bezäglich des datagridviews gekümmert weil ich erkannt hab das mir das eher weiter hilft (ist für mein bedarf halt praktischer)

    lV_PRT_VIEW.View = View.Details;
    

    ok guck ich nachher mal nach was das macht ...

    msdn lesen ... ja kann hilfreich sein, kann aber auch extrem ausarten ....
    ich habs halt gern an beispielen erklärt ... das versteh ich schneller ...
    und es geht meist auch schneller ... und ich dachte in nem forum ist man unterwegs um sein wissen zu teilen ... ich guck mir auch immer mal wieder andere threads an und helfe wenn ich kann ..



  • LordTerra schrieb:

    ich habs halt gern an beispielen erklärt ... das versteh ich schneller ...

    Selbst die MSDN bietet Beispiele.

    und ich dachte in nem forum ist man unterwegs um sein wissen zu teilen

    Das trifft auch vollkommen zu. Aber zum Wissen teilen gehört auch Informationen zu geben, wo Lösungen zu finden sind. Wenn ich dir alles vorkaue ist der lerneffeckt gleich null.



  • naja das stimmt nicht unbedingt ... wenn du es gut erklärts brauch ich nicht mehr fragen da ich dann ja weis wie es geht ...

    und lernen geht halt auf verschiedene arten ...
    ich persönlich lerne schneller wenn ich beispiele bekomm die ich testen kann und wenn ich was nicht versteh gleich nachfragen kann was ich falsch gemacht hab ...

    das geht eben nicht wenn man bücher oder msdn liest ..



  • Mag sein, aber der korrekte Weg ist:

    -> Buch lesen
    -> Vorgestelltes ausprobieren
    -> Bei Problemen Fragen

    Das wars auch von meiner Seite schon, ich denke dein Problem ist gelöst.


  • Administrator

    LordTerra schrieb:

    und lernen geht halt auf verschiedene arten ...
    ich persönlich lerne schneller wenn ich beispiele bekomm die ich testen kann und wenn ich was nicht versteh gleich nachfragen kann was ich falsch gemacht hab ...

    das geht eben nicht wenn man bücher oder msdn liest ..

    Doch geht es! Ich lerne genau gleich und wahrscheinlich viele hier auch. Du liest die MSDN und das Buch. An beiden Stellen findest du sehr wahrscheinlich bereits Beispiele. Ein Fachbuch ohne Beispiele kann man gleich in die Mülltonne werfen. Und die MSDN ist voll damit!

    Falls es in der MSDN trotzdem mal keines hätte, dann hast du zumindest die wichtigen Fachbegriffe. Danach kannst du suchen und dann spätestens findest du wieder Beispiele. Wichtige Seiten für die Suche:
    stackoverflow.com (ist in der MSDN Suche enthalten)
    codeplex.com
    codeproject.com
    codeguru.com

    Und dann natürlich auch die Suche in den verschiedenen Foren, wie hier, auf MyCSharp oder anderswo.

    Und ich kann dir versichern, du wirst damit deutlich schneller sein, wenn du dieses Suchen mal beherrscht. Und kommst auch zu deinen Antworten, wenn alle anderen nicht anwesend sind. Schau nur mal, wie lange es benötigt hat, bis du die Antwort auf diese Frage hattest. Und das ist normal in Foren. Da kann es ruhig mal ein paar Stunden gehen, bis man die richtige hat. Unter Umständen erhält man auch gar nie die "richtige".

    Grüssli


Anmelden zum Antworten