Listview control výška řádku (row height)   zodpovězená otázka

VB.NET

Zdravím a předem děkuju. Nevíte náhodou někdo, jak nastavit výšku řádku v listview (každý řádek by měl mít různou výšku dle potřeby)? Napadají mě dvě možnost, ale nechci se vydat špatnou cestou. První je vytvořit prázdnou ikonku a vkládat ji s pozměněnou výškou do řádku (nevím jestli jde dynamicky měnit výška ikonky, tak aby se mi nepředělali předchozí řádky namapovaný na stejnou empty ikonku). Nebo API něco s MEASUREITEM? Jo ještě jedna důležitá věc. V buňce bude multilinetext.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pomocí ikony to rozhodně nepůjde, protože ikony všech položek musí mít stejnou velikost. Pomocí Windows API by to pravděpodobně šlo, ale bylo by to velmi komplikované. Bohužel ani přes OwnerDraw (DrawItem) to nepůjde, protože tam je velikost kreslícího plátna dána napevno.

Pokud potřebujete seznam a ne ikony tak můžete použít ListBox, tam přes OwnerDraw může být každá položka jinak velká.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Já potřebuji více sloupců a větší funkcionalitu. Koukám, že stejný problém je i v datagridview. Ale možná tam by to šlo nějakým způsobem, protože u něho existuje volání CellPainting?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

V datagridview lze nastavit výšku každého řádku individuálně vlastností dgw.Rows(X).Height=Y

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Sice v datagridview row -->height jde, ale multiline ne.

Tedy teď už vím jak na to:

Private Sub DataGridView1_CellPainting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles Me.CellPainting
        e.CellStyle.WrapMode = DataGridViewTriState.True
    End Sub

Všem děkuji za info.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback