DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
sayın ASMET67 ben de uzun süredir listview nesnesi üzerinde denemeler yapıyorumama dediğiniz olayı bir türlü gerçekleştiremedim yalnızca bütün sütunlarda geçerli ya da tek bir sıralama olayı yapıyor dediğiniz gibi olabilirse inanın benimde işime çok yarayacak iyi çalışmalar...
Arkadaşlar bu konuyla ilgili bir örnek eklerseniz bizde faylanırız ve de sizlere dua ederiz
ListView1.Sorted = True [COLOR=red]'Sıralama işlemini açtık.[/COLOR]
ListView1.SortOrder = 1 [COLOR=red]' 0 yazarsanız artan, 1 yazarsanız azalan sıralama yapar.[/COLOR]
ListView1.SortKey = ColumnHeader.Index - 1 [COLOR=red]'Sütunlar sıfırdan başladığı için, indeks numarasının bir eksiği, tıklanan sütundur.[/COLOR]
ListView1.Sorted = False [COLOR=red]'Sıralama işlemini devre dışı bıraktık.[/COLOR]
peki basamak tamamlama tüm sütun için otomatik olarak nasıl yapılmalı..................
Mesela, en büyük sayımız 999 ise, büün sayıları 3 basamaklı yapmak gerekir. Bunu da değerlerin başına sıfır ekleyerek yaparız. Sıralamadan sonra da, başta bulunan sıfırları kaldırırız. Bu durumda sayılar şu hale gelmelidir: 001, 002, 016 Bu şekilde yapılacak sıralama doğru sonucu verir..........
peki basamak tamamlama tüm sütun için otomatik olarak nasıl yapılmalı
...
basamak=len(listview1.listitems(a).subitems(b)) ' a ve b döngü değerleridir.
if basamak=1 then listview1.listitems(a).subitems(b)="00" & listview1.listitems(a).subitems(b)
if basamak=2 then listview1.listitems(a).subitems(b)="0" & listview1.listitems(a).subitems(b)
Aşağıdaki kodu kopyalayıp, userform code kısmına yapıştırın,
Kolonlara tıklayınca artan, tekrar tıklayınca azalan sıralama yapıyor,
alıntıdır, detaylarını izah edemeyeceğim.
Sayılarımla
Tansu Erkanlı
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
On Error Resume Next
Dim i As Integer, J As Integer
Dim x As Integer
Select Case ColumnHeader.Index - 1
Case 2, 3
ListView1.Sorted = False
ListView1.SortKey = ColumnHeader.Index - 1
For i = 1 To ListView1.ListItems.Count
ListView1.ListItems(i).ListSubItems(ColumnHeader.Index - 1).Text = ListView1.ListItems(i).ListSubItems(ColumnHeader.Index - 1).Text
Next i
If ListView1.SortOrder = lvwAscending Then
ListView1.SortOrder = lvwDescending
Else
ListView1.SortOrder = lvwAscending
End If
ListView1.Sorted = True
For i = 1 To ListView1.ListItems.Count
ListView1.ListItems(i).ListSubItems(ColumnHeader.Index - 1).Text = ListView1.ListItems(i).ListSubItems(ColumnHeader.Index - 1).Text
Next i
Case 1
x = ColumnHeader.Index - 1
ListView1.Sorted = False
ListView1.SortKey = x
If ColumnHeader.Index = 1 Then
For i = 1 To ListView1.ListItems.Count
ListView1.ListItems(i).Tag = ListView1.ListItems(i).Text
If CDbl(ListView1.ListItems(i).Text) >= 0 Then
ListView1.ListItems(i).Text = CDbl(ListView1.ListItems(i).Text)
Else
ListView1.ListItems(i).Text = "&" & CDbl(ListView1.ListItems(i).Text)
End If
Next i
If ListView1.SortOrder = lvwAscending Then
ListView1.SortOrder = lvwDescending
Else
ListView1.SortOrder = lvwAscending
End If
ListView1.Sorted = True
For i = 1 To ListView1.ListItems.Count
ListView1.ListItems(i).Text = ListView1.ListItems(i).Tag
Next i
Else
For i = 1 To ListView1.ListItems.Count
ListView1.ListItems(i).ListSubItems(x).Tag = ListView1.ListItems(i).ListSubItems(x).Text
If ListView1.ListItems(i).ListSubItems(x).Text <> "" Then
ListView1.ListItems(i).ListSubItems(x).Text = ListView1.ListItems(i).ListSubItems(x).Text
Else
ListView1.ListItems(i).ListSubItems(x).Text = "&" & ListView1.ListItems(i).ListSubItems(x).Text
End If
Next i
If ListView1.SortOrder = lvwAscending Then
ListView1.SortOrder = lvwDescending
Else
ListView1.SortOrder = lvwAscending
End If
ListView1.Sorted = True
For i = 1 To ListView1.ListItems.Count
ListView1.ListItems(i).ListSubItems(x).Text = _
ListView1.ListItems(i).ListSubItems(x).Tag
Next i
End If
Case Else
ListView1.Sorted = False
ListView1.SortKey = ColumnHeader.Index - 1
If ListView1.SortOrder = lvwAscending Then
ListView1.SortOrder = lvwDescending
Else
ListView1.SortOrder = lvwAscending
End If
ListView1.Sorted = True
End Select
End Sub
Orjinalini ekte gönderiyorum, dikkat etmeniz gereken sizin hazırladığınız tüm kısımlarda ListView nesnesi, ListView1 olarak tanımlanmış olmalı, eğerki ListView2 veya farklı tanımlama yaptıysanız, kod çalışmaz. txt dosyayı açıp userformda sona kopyalayın.
Bu kodu kullanmadığınız zaman, Listview nesnesi normal çalışıyor mu?.