Ga naar inhoud

LabelEdit Listview in Visual Basic 6


anoniem

Aanbevolen berichten

Ruben, Ik ben er niet zeker van dat ik dezelfde ListView gebruikt heb als jij, maar bij die ik gebruikt heb, kon ik de header van de kolom wijzigen met: [code:1:d5882939f7] ListView2.ColumnHeaders(2).Text = "Andere tekst"[/code:1:d5882939f7] Het kan zijn dat we langs elkaar heen communiceren, maar dit is voorlopig mijn antwoord. Groet, Maarten.
Link naar reactie
Ik heb mijn probleem niet helemaal goed geformuleerd: Ik heb 2 kolommen: Property en Value. Hierin staan meerdere rijen, oftewel ListItems en ListSubItems (voor de tweede kolom). Ik kan enkel het label bewerken van de rijen in de kolom Property (het ListItem), maar ik wil het label bewerken van de rijen in de kolom Value (de ListSubItems). Hopelijk is het zo duidelijker wat ik bedoel. Groeten, Ruben
Link naar reactie
Ruben, Ik weet nog niet of ik je goed begrijp, maar als anderen dat wel doen, hoop ik dat ze het advies overnemen. Ik kan (VB6SP5) meer ListViews tevoorschijn toveren. Dat lijkt samen te hangen met de SPs die zijn geinstalleerd. Als ik op de '(About)' property dubbelklik zie ik de oorsprong. Ik heb het eerdere testprojectje afgesloten zonder te bewaren, dus nu moet ik even standaardiseren. Als ik een ListView op mijn from plaats en dubbelklik op (About) dan zie ik de tekst: List View ActiveX Control - Version 6.0 (SP4). Hebben we het over hetzelfde ListView? Aannemende dat dat zo is, is me de opbouw niet geheel duidelijk. Laat ik een opbouw van een tabel even schetsen. Een tekening zegt meer en sneller dan meer pagina's papier. Header1 Header2 regel1 info11 info21 regel2 info12 info22 regel3 info13 info23 etc ..... ...... Is dit de opbouw van je ListView? Welke tekst (zie schets) wil je aanpassen? Tot spoedig en groet, Maarten.
Link naar reactie
Ook ik heb Listview SP4 (VB6SP5) Mijn Listview moet er als volgt uitzien: Property | Value ------------------- Prop1 Value1 Prop2 Value2 Prop3 Value3 De velden in de kolom property moeten niet aangepast worden. De velden in de kolom Value wel. Gebruik ik LabelEdit als de Listview in Reportview staat, dan kan ik enkel de velden in de kolom Property bewerken. Dus uitgewerkt voor bijv. een adressentabel: Property | Value ------------------- Naam (Naam mag ik aanpassen) Adres (Adres mag ik aanpassen) Hopelijk begrijp je zo wat ik wil. Groeten Ruben
Link naar reactie
Ruben, Ik heb even weinig tijd gehad en wat gezocht naar de mogelijkheid die jij zoekt. Het verbaast me dat er geen andere reacties zijn gekomen. Werkt niemand aan een dergelijk probleem of heeft niemand ervaring hiermee? Allereerst vraag ik me af of de Listview het meest geschikt is, maar je stelt dat je die gebruikt, dus ga ik ook die uitdaging aan. Verder heb je het over het LabelEdit event. Dit is een property, maar de Begin/AfterLabelEdit's zijn wel events. Edoch, laat ik je mijn oplossing geven. Ook ik kreeg de indruk dat alleen de eerste kolom uit de Listview kan worden aangepast. Vergelijkbaar met het rechterdeel van de Windows Explorer, waar de file-namen, maar niet hun properties zijn aan te passen. Maar waar een wil is is een weg. Dus stel ik de volgende code voor: - Maak bij je Listview1 een Text1 textbox, met de verticale positie zoals die je bij gebruik het beste voorkomt. Deze textbox is normaal invisible, maar wordt geplaatst en zichtbaar wanneer een invulling wordt gevraagd. De textbox wordt gevuld met de aanwezige waarde van jou 'Value'. Na ESC wordt de inhoud van de tekstbox niet gebruikt. Na ENTER wordt de inhoud van de textbox naar jou 'Value' weggeschreven [code:1:a0033f7449]Dim mousePosY As Integer Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem) Text1.Top = mousePosY + ListView1.Top - 111 Text1.Text = ListView1.SelectedItem.SubItems(1) Text1.Visible = True ListView1.Enabled = False Text1.SetFocus End Sub Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) mousePosY = y End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 27 Then Text1.Visible = False ListView1.Enabled = True End If If KeyAscii = 13 Then ListView1.SelectedItem.SubItems(2) = Text1.Text Text1.Visible = False ListView1.Enabled = True End If End Sub[/code:1:a0033f7449] Ik vind het nog niet mooi, maar het werkt. Ik hoop dat er veel afwijkende reacties op komen. Zo leren we er allen van. Groet, Maarten.
Link naar reactie
Hoi Maarten, Bedankt voor deze oplossing. Ik heb zelf gisteren een oplossing gevonden die beter past in de strekking van mijn probleem. Uitgaande van de report-view, kun je een of meerdere column headers opgeven. Met de code [code:1:5c45cc9e0b]myListView.ColumnHeaders(myIndex).Position = myValue[/code:1:5c45cc9e0b] kun je de positie van de kolommen wijzigen. Door de Value kolom als leidende kolom te kiezen (Property kolom wordt dan een subitem van listitem Value) kun je, na het omdraaien van de kolommen, een normale labeledit uitvoeren op de Value kolom. Klinkt allemaal misschien wat cryptisch, maar probeer het stukje code maar eens, dan wordt denk ik een hoop duidelijk.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...