Laden...

Column Width in Listview wärend Laufzeit ändern

Erstellt von Lisko34 vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.193 Views
Lisko34 Themenstarter:in
42 Beiträge seit 2008
vor 14 Jahren
Column Width in Listview wärend Laufzeit ändern

Hi,

ich habe folgendes Problem das ich während mein Programm läuft die Größe der Form verändert
und die darin entheltene Listview sich auch vergrößert/verkleinert da sie gedockt ist, nun ist es so das ich gerne Vertikal scrollen möchte,
was ich durch einfügen einer Column in die Listview erreiche.

Jetzt habe ich allerdings das Problem das sich die größe der Column nicht automatisch der Größe der Listview anpasst!!

Habe schon versucht:


comunHeader1.Width = 20;                //ändert nichts in Column-Breite (vermute das nur Header-Breite geändert wird)
//oder
listView1.Columns[0].Width = 20;        //führte zu einem Fehler 

Kann mir bitte jemand eine kleine Starthilfe geben,
oder vielleicht eine andere möglichkeit das Vertikal scrollen zu ermöglichen ohne Columns in Listview.

Gruß Lisko

5.299 Beiträge seit 2008
vor 14 Jahren

Hi!

Ich gehe meinen Mitmenschen immer dadurch auf den Geist, dassich erzähle, ich find ListView ungeeignet für Tabellendarstellungen.
Im DGV zB. kannste sowas direkt an der Column einstellen.
gugge auch Vergleich DatagridView - ListView

Der frühe Apfel fängt den Wurm.

916 Beiträge seit 2008
vor 14 Jahren

Du gehst damit niemand auf den Geist 😃
Ich geb dir voll und ganz recht, für Tabellendarstellung ist das DGV einfach besser geeignet, das ListView ist zwar leichter zu "handeln", aber das DGV dafür deutlich mächtiger. Nicht zu vergessen die Performance, die beim DGV gegenüber dem ListView auch nicht unerheblich ist.

Again what learned...

Lisko34 Themenstarter:in
42 Beiträge seit 2008
vor 14 Jahren

Hi,

Es ist mir föllig klar das ein DGV wesentlich besser und Perfomater ist, nur ist meine Aufgabe es mit einer Listview umzusetzen, sonst hätte ich nämlich schon längst eine DGV genommen!

Gruß Lisko

3.825 Beiträge seit 2006
vor 14 Jahren

Bei mir klappt das :


double scale = 790.0 / lviBelege.Width;
if (lviBelege.Columns.Count > 0) lviBelege.Columns[0].Width = (int)(scale*96);
if (lviBelege.Columns.Count > 1) lviBelege.Columns[1].Width = (int)(scale*120);
if (lviBelege.Columns.Count > 2) lviBelege.Columns[2].Width = (int)(scale*92);
if (lviBelege.Columns.Count > 3) lviBelege.Columns[3].Width = (int)(scale*120);
...

Beim größerziehen des Fensters und des Listviews passen sich die Spatlen automatisch an.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

5.299 Beiträge seit 2008
vor 14 Jahren

Es ist mir föllig klar das ein DGV wesentlich besser und Perfomater ist, nur ist meine Aufgabe es mit einer Listview umzusetzen, sonst hätte ich nämlich schon längst eine DGV genommen!

Da würdich vermutlich eine Diskussion mit dem Aufgabensteller anzufangen versuchen. Eine schlechte Aufgabenstellung schadet m.E. mehr, als das sie nützt, und stellt auch die Kompetenz des Aufgabenstellers in kein gute Licht.

Der frühe Apfel fängt den Wurm.