2009-07-05 21 views
10

sekme dinamik numarası ile bir sekme denetimi oluşturma?Visual Studio C# sekme dinamik numarası ile bir sekme denetimi nasıl oluşturulur Visual Studio C#

Ben bir tablo customers ile bir veritabanı var. Müşterilerin soyadının ilk harfleri olan sekmeleri gösteren bir form oluşturmam gerekiyor (sadece tablodaki girişlerin olması gereken ilk harfler). Her sekmede, ilgili müşterilerle bir DataGrid denetimi bulunmalıdır. DataSet kullanarak veritabanına bağlanıyorum.

Böyle sekmeleri üretecek kod parçacığını eklemek gerekir

? Bunu mevcut sekme denetimi ile yapabilir miyim veya özel bir denetim oluşturmalı mıyım? Kendi özel sekme kontrolü sınıfı oluşturmak olacaktır için

cevap

16

Sen varolan TabControl ile dinamik sekmeleri üretebilir. Burada biraz tür sözde kodu biçiminde yapılabilir bir örnek ... olduğunu

TabControl tabControl = new TabControl(); 
tabControl.Dock = DockStyle.Fill; 

foreach (Char c in lastNameList) 
{ 
    TabPage tabPage = new TabPage(); 
    tabPage.Text = c.ToString(); 

    DataGrid grid = new DataGrid(); 

    grid.Dock = DockStyle.Fill; 
    grid.DataSource = dataForTheCurrentLoop; 

    tabPage.Controls.Add(grid); 
    tabControl.Controls.Add(tabPage); 
} 

this.Controls.Add(tabControl); 
0

En iyi rota benziyor. Veri sekmesi için işlevselliği ve özellikleri için sekme denetiminden ve ihtiyacınız olan başka herhangi bir özelliğe sahip olabilir. Ardından, müşterilerinizi aldığınızda ihtiyacınız olan her harf için bir sekme oluşturabilir ve ilgili özellikleri ayarlayabilirsiniz.

2

Kodu, muhtemelen hangi verileri aldığınızı veya formun OnLoad() yöntemini kullanırken gösterilmesi gereken harfleri belirlediğiniz sekmeleri oluşturmak için eklersiniz. Yerleşik sekme denetiminden dinamik olarak sekme ekleyebilmeniz/kaldırmanız gerekir. Tasarım kodunu, nasıl yapılacağı hakkında bir fikir veya dokümanlar için kontrol edebilirsiniz. mutlaka her karakter için ayrı sekme eklemek iyi bir fikir değildir

Not. 26 sekme (veritabanınız makul ölçüde büyük olduğunda gerçekleşecek), birinin bakması gereken oldukça kötü sekmelerdir. Bu, her zaman işleri hızlandırmaz.

Bunun yerine, Vista'nın başlat menüsünde arama kutusuna benzer bir dinamik filtreleme mekanizması, hazırlayın. Kullanıcınız tek bir karakter yazabilir (bir çeşit kiosk veya sadece dokunmatik ekranlı yazılım yazmadığınızı varsayarak) ve ilgili isimlere hemen zum yapabilir. Bu, Liste veya Ayrıntılar modunda ListView ile ideal olarak çalışır.

1

Şimdi özelliklerini hatırlamıyorum. Ancak, sekme denetimi içeren bir form için XXX.designer.cs dosyasındaki koda bakın. Orada yeni bir sekme eklemek için oluşturulan kodu göreceksiniz. Sadece bu satırları çoğaltın, istediğiniz zaman yeni bir sekme ekleyebilirsiniz.