anoniem Geplaatst: 11 november 2002 Delen Geplaatst: 11 november 2002 Ik heb een ListView (reportview, 3) met twee kolommen. Laten we die kolommen even Property en Value noemen. Middels het LabelEdit event kan ik het label van de kolom Property aanpassen. Ik wil echter het label van Value aanpassen. Hoe kan ik dit doen? Alvast bedankt, Ruben Quote Link naar reactie
anoniem Geplaatst: 12 november 2002 Auteur Delen Geplaatst: 12 november 2002 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. Quote Link naar reactie
anoniem Geplaatst: 12 november 2002 Auteur Delen Geplaatst: 12 november 2002 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 Quote Link naar reactie
anoniem Geplaatst: 12 november 2002 Auteur Delen Geplaatst: 12 november 2002 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. Quote Link naar reactie
anoniem Geplaatst: 12 november 2002 Auteur Delen Geplaatst: 12 november 2002 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 Quote Link naar reactie
anoniem Geplaatst: 19 november 2002 Auteur Delen Geplaatst: 19 november 2002 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. Quote Link naar reactie
anoniem Geplaatst: 19 november 2002 Auteur Delen Geplaatst: 19 november 2002 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. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen