SORU
22 HAZİRAN 2009, PAZARTESİ


Nasıl otomatik olarak bir DataGridView denetim sütun yeniden boyutlandırma VE kullanıcı aynı ızgara sütunları yeniden boyutlandırmak için izin?

Bir Windows Formu (WPF C# 2.0) üzerinde bir DataGridView kontrolü doldurma ediyorum.

Amacım düzgünce içerdiği verilere göre hücre - yani kullanılmayan (koyu gri) ve boyutları aşağı alanlar ile mevcut tüm genişliği her sütun uygun şekilde doldurur, bir kılavuz görüntülemek içinamaayrıca Kullanıcı kendi zevkine göre sütunları yeniden boyutlandırmak için izin verir.

Her sütunun AutoSizeMode ayarlayarak bunu başarmak için çalışıyorumDataGridViewAutoSizeColumnMode.AllCellshariç için yola hangi sütunlardan biriDataGridViewAutoSizeColumnMode.Doldurunemin olmak için kılavuzun tüm bölgeyi düzgün bir şekilde veri ile doldurulur. (Kullanıcı bu sütunu yeniden boyutlandırmak için çalıştığınızda springs Yatay Boşluk sağlayan bir boyuta geri her zaman kullanılan bir sakınca görmüyorum.)

Ancak, ben de belirttiğim gibi, bir kez yüklü isterim izin kullanıcı için yeniden boyutlandırma sütun için uygun kendi şartları içinde ayar bu AutoSizeMode değerleri her sütun görünür kullanıcı o zaman yapamadı, daha sonra yeniden boyutlandırmak bu sütunlar.

Hücreler içeren verilere göre yeniden boyutlandırmaya izin vermiyor AMA başlangıç boyutunu ayarlayın olmayan tüm sütunların AutoSizeMode ayarı denedim. Aynı sonucu ızgaranın AutoSizeMode "" veri yükleniyor sonra. Değil Set olarak değiştirerek oluşur

Kaçırdığım varsayılan sütun genişliği VE kullanıcı yeniden boyutlandırma otomatik ayarı sağlar yoksa DataGridView denetim doldururken kullanmak zorundayım başka bir tekniği olan bir ayarı var mı?

CEVAP
23 HAZİRAN 2009, Salı


Bu numara bana uyar:

    grd.DataSource = DT

    'set autosize mode
    grd.Columns(0).AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
    grd.Columns(1).AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
    grd.Columns(2).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill

    'datagrid has calculated it's widths so we can store them
    For i = 0 To grd.Columns.Count - 1
        'store autosized widths
        Dim colw As Integer = grd.Columns(i).Width
        'remove autosizing
        grd.Columns(i).AutoSizeMode = DataGridViewAutoSizeColumnMode.None
        'set width to calculated by autosize
        grd.Columns(i).Width = colw
    Next

Burada ne ihtiyacınız whathever için otomatik boyutlandır ve otomatik boyutlandır hesaplama kalmış genişliği depolamak sütun, autosizing kaldırmak ve genişlik değeri için yola önce saklı olarak ayarlayın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009
  • NYLON Video

    NYLON Video

    11 Aralık 2006
  • Utah Valley Online

    Utah Valley

    9 AĞUSTOS 2010