ListView ile ListBox kontrol

Katılım
19 Ağustos 2005
Mesajlar
201
Excel Vers. ve Dili
Excel 2003 Tr
ekte forumda bulduğum bir dosya var

Bildiğim kadarı ile ListBox a başlık satırını ekliyemiyoruz. Bunun yerine başlık satırını ListView e alsak diğer bilgiler ListBox ta sıralansa çalışmalarımız ListBox ile devam etse ancak ListView deki kaydırma çubuğunu sağa sola kaydırdığımızda ListBox daki bilgilerde aynı sıralama ile kaysa mümkünmü acaba

ListView sadece A1:E1 bilgisini alacak
 
Katılım
19 Ağustos 2005
Mesajlar
201
Excel Vers. ve Dili
Excel 2003 Tr
İsteğim excel mantığına pek uymuyor herhalde cevap gelmediğine göre :D
 
Katılım
3 Ocak 2006
Mesajlar
11
ListBox'ta başlık sütunu

ColumnHeads özelliğini "True" yaparak başlıkların görünmesini sağlayabilirsiniz.
 
Katılım
19 Ağustos 2005
Mesajlar
201
Excel Vers. ve Dili
Excel 2003 Tr
Sayın eterzan True yapınca evet ilk satıra alıyor ama kaydırma çubuğu ile ListBox içerisindeki verileri aşağıya indirince haliyle ilk satırda görünmez oluyor. Bunu engellemek için başlık satırının ColumnHeads True olduktan sonra açılan hücreye geçmesi ve sabit kalmasını istiyorum. Ben beceremedim :(
 
Katılım
3 Ocak 2006
Mesajlar
11
Yani siz Excel'deki sütun-satırları dondur özelliği gibi bir özellik arıyorsunuz. VBA'daki ListBox'ta böyle bir durumun mümkün olacağını sanmıyorum. Böyle durumları bende ListBox'ın üzerine başlıkları Label'lara yazarak çözüyorum.

Kolay gelsin.
 
Katılım
19 Ağustos 2005
Mesajlar
201
Excel Vers. ve Dili
Excel 2003 Tr
ListBox üzerine Label ile başlık atmak sorun değil ama başlık 30 tane userform da ne kadarını koyacaksın ve sağa doğru kaydırdığında ne olacak örnekteki gibi 5 tane olsa sorun değil
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Kaydırma için değil de, sütun başlıklarının genişliği için aşağıdaki kodları kullanabilirsiniz. Sütun genişlikleririni ayarladıktan sonra, liste göstericisindeki sütun başlıklarından herhengi birini tıklamanız yeterli. Ben kodları sütun başlıklarını tıklama olayına yazrdım; ama siz farklı bir yere de (Liste kutusunu tıklamak gibi) tanımlayabilirsiniz. Sütun başlıklarıyla eş zamanlı işleyecek bir yöntem olduğunu sanmıyorum.

Ayrıca niçin sadece liste götericisini (Listview) kullanmak yerine, liste kutusunu kullanmak istediğinizi de merak ettim doğrusu. Liste kutusuyla yapabildiklerinizi -belki de daha fazlasını- liste götericisi ile de yapabilirsiniz.

Kod:
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
a1 = ListView1.ColumnHeaders(1).Width
a2 = ListView1.ColumnHeaders(2).Width
a3 = ListView1.ColumnHeaders(3).Width
a4 = ListView1.ColumnHeaders(4).Width
a5 = ListView1.ColumnHeaders(5).Width
ListBox1.ColumnWidths = a1 & "," & a2 & "," & a3 & "," & a4 & "," & a5
End Sub
(Açıklama: Yukarıdaki kodları, sütun başlıklarının genişliği için istediğinizi düşünerek hazırlamıştım. Yanlış anlamışım, asıl isteğinizi sonradan fark ettim.)
 
Son düzenleme:
Katılım
19 Ağustos 2005
Mesajlar
201
Excel Vers. ve Dili
Excel 2003 Tr
Sayın Mesleki sütun genişliğini Form Initialize içerisine
ListBox1.ColumnWidths = "30;51;75;82;120;45;35;35;57;42;55 ....................." ekliyerek ayarlıyorum.

Benim istediğim süz işlemi bittiğinde bazı verilerden aşağıya doğru 100-150 kadar olduğu ve kaydırma yaptığımızda başlık sütunu olmadığı için hangi verinin neye denk geldiğini karıştırmamak
Son olarak neden ListView yerine ListBox kullandığım ise 2 ayda yaklaşık 2400 satırlık veri girişi yaptım. Bunun devam edeceğini göz önüne alarak süz işlemi ne kadar hızlı olursa o kadar iyi olur ve ListView her ne kadar daha kullanışlı olsada ListBox görüntü almada ve işlem yapmada daha hızlı çalışıyor gibi geldi bana
 
Üst