22. februar 2006 - 11:52Der er
10 kommentarer og 1 løsning
Længde på SubItems i ListView
Er der begrænsninger for, hvor lang en SubItem streng kan være i en ListView ?
Jeg indlæser et produktkatalog i en en ListView. Et af felterne i kataloget er en lang beskrivlese af varen. Og det ser til, at det ikke er det hele, der kommer med over i mit ListVew.
Jeg bruger følgende kode til at tilføje en SubItem : ListView.Items[i].SubItems.Add(longDescription);
Begrænsningen ligger på 2GB vil jeg mene og jeg har også lige lavet en test hvor jeg lavede en subitem streng på 1000000 tegn uden problem. Men der ser ud til at være en begrænsning på 256 tegn i det man kan se i listviewet.
TListView er en Microsoft komponent som Borland har indkapslet (sådan som resten af Win32-API'et også er).
Det betyder, at du nok har med AsciiZ strenge at gøre og det betyder sikkert at grænsen er 2Gb, sådan som kroning også siger.
At ListViewet så begrænser udskriften til 255-256 tegn er et udtryk for god fornuft: Det er dårligt design, at proppe denne LongDescription ind i et listviews subitem. Kan du ikke placere den oplysning i en read-only TMemo nedenfor og så lade TListView'et opdatere memo'en hver gang man skifter listitem?
I øvrigt har man muligheden for at sætte Max-værdien for hvet enkelt ListView.Column, men D2006's hjælp om emnet var ikke-eksisterende. Her må du evt. prøve dig frem.
Jeg er enig med hrc i at man ikke bør have en sådan lang beskrivelse i en listview, hvis du ikke vil have en memo der indeholder beskrivelsen så kunne du måske lave det sådan at når man peger eller klikker på den "forkortede" beskrivelse så popper der et vindue op med den komplette beskrivelse.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.