Kullanıcı bir dosyayı üzerine sürüklediğinde/sürüklediğinde CSV verileriyle doldurulan bir veri ızgaram var. Boş ızgarada bir mesajın görüntülenmesi mümkün mü? "Lütfen buraya bir dosya sürükleyin" veya "Bu ızgara şu anda boş". Kılavuz şu anda sütunları ayarlamak için sürüklenene kadar beklediğim gibi koyu gri bir kutu olarak görüntülenir.Boş bir datagrid'e mesaj görüntülenmesi mümkün mü
cevap
DataGridView denetimini alt sınıflara ayırdık ve bunu ekledik. Sürükleme/bırakma işlevselliğine ihtiyacımız olmadı - sadece sorgularından hiçbir veri gelmediğinde kullanıcıya söylememiz gerekiyordu.
Biz emptyText özelliği böyle ilan ettiler:private string cvstrEmptyText = "";
[Category("Custom")]
[Description("Displays a message in the DataGridView when no records are displayed in it.")]
[DefaultValue(typeof(string), "")]
public string EmptyText
{
get
{
return this.cvstrEmptyText;
}
set
{
this.cvstrEmptyText = value;
}
}
ve PaintBackground işlevini aşırı:
protected override void PaintBackground(Graphics graphics, Rectangle clipBounds, Rectangle gridBounds)
{
RectangleF ef;
base.PaintBackground(graphics, clipBounds, gridBounds);
if ((this.Enabled && (this.RowCount == 0)) && (this.EmptyText.Length > 0))
{
string emptyText = this.EmptyText;
ef = new RectangleF(4f, (float)(this.ColumnHeadersHeight + 4), (float)(this.Width - 8), (float)((this.Height - this.ColumnHeadersHeight) - 8));
graphics.DrawString(emptyText, this.Font, Brushes.LightGray, ef);
}
}
Burada yapmanın en kolay şey, "Sürükle" ve "Sürükle" yapmak için dev bir etiket denetimi yapmaktır. etiketin sürükleme/bırakma olayını işlemek. Sürükle/bırak tamamlandığında, etiketi gizleyin ve ızgarayı gösterin.
Bu tekniği eski, güzel ve temiz ve basit bir şekilde ListViews ile kullandım! –
Izgara görünümü kullanıyorsanız, EmptyDataText özelliğini kullanabilirsiniz. Bir datagrid'in ve (IMHO) çoğu durumda çalışmanın daha kolay olduğunu düşündüğüm her şeyi yapabilir
Bu bir çözüm olabilir ancak Winforms ASP kullanmıyorum. Bu –
Ne bu durumda ne forma bir sekme denetimi ekleyin, koymak Bir sekmede DGV ve başka bir sekmede bir etiket ('Sürükle' veya benzer bir şey). Sekmeleri gizle. Daha sonra DGV boşsa, etiketi etiketli olarak gösterin. Sadece routeNpingme'ın cevabı gibi sürükleme/bırakma olayını burada gerçekleştirirsiniz, DGV'yi arka plana yükler ve sonra yükleme bittiğinde sekmeleri değiştirirsiniz. Bu güzel, çünkü VS Designer'da sekmeler arasında kolayca ileri ve geri geçiş yapabilme yeteneğine de sahipsiniz.
- 1. RabbitMQ, FIFO'yu korurken bir kanaldan 1 mesaj almak mümkün mü?
- 2. Android: Özel bir mesaj almak mümkün Olası
- 3. Mesaj dizisini 'unseen = 0' ile işaretlemek mümkün mü?
- 4. JPA'da boş bir listeyi geçmek ve test etmek mümkün mü?
- 5. Amaçları programlamak mümkün mü?
- 6. Bir nesneyi null olarak ayarlamak mümkün mü?
- 7. ? mümkün mü?
- 8. mümkün mü?
- 9. mümkün mü?
- 10. mümkün mü?
- 11. UITableView'dan bir PDF dosyası oluşturmak mümkün mü?
- 12. GenişletilebilirListView - Koşullu genişletme mümkün mü?
- 13. SmtpClient ile gönderilen bir e-posta mesajının "Mesaj Kimliği" ni yakalamak mümkün mü?
- 14. SMS'leri yerel kısa mesaj uygulaması dışındaki bir iPhone App'den otomatik olarak göndermek mümkün mü?
- 15. Neden exec() boş mesaj dizeleriyle başarısız oluyor?
- 16. LuisDialog sırasında ekleri işlemek mümkün mü?
- 17. Bir veritabanından seçili kaydın görüntülenmesi
- 18. Bir yapıya bir liste eklemek mümkün mü?
- 19. Com nesnesi, mümkün mü?
- 20. getImageResource() Android. Mümkün mü?
- 21. thinktecture identitymanager, mümkün mü?
- 22. PHP dosyası. Mümkün mü?
- 23. HHVM'yi geçmek mümkün mü?
- 24. Özyineli DataTemplates mümkün mü?
- 25. Şişeyle İçermek mümkün mü?
- 26. DialogFragment'i canlandırmak mümkün mü?
- 27. fopen - bu mümkün mü?
- 28. Eta azaltma mümkün mü?
- 29. IdentityServer3 tümleştirmesi. Mümkün mü?
- 30. skip_while` klonlamak mümkün mü?
'u araştırmam gerekecek Bu ekstra bir mantık olmadan güzel ve yeniden kullanılabilir, ben boşaltıcıyı tasarımcısında ayarlayabilirim –