DataGridView.AutoSizeColumnsMode Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą sposób określania szerokości kolumn.

public:
 property System::Windows::Forms::DataGridViewAutoSizeColumnsMode AutoSizeColumnsMode { System::Windows::Forms::DataGridViewAutoSizeColumnsMode get(); void set(System::Windows::Forms::DataGridViewAutoSizeColumnsMode value); };
public System.Windows.Forms.DataGridViewAutoSizeColumnsMode AutoSizeColumnsMode { get; set; }
member this.AutoSizeColumnsMode : System.Windows.Forms.DataGridViewAutoSizeColumnsMode with get, set
Public Property AutoSizeColumnsMode As DataGridViewAutoSizeColumnsMode

Wartość właściwości

DataGridViewAutoSizeColumnsMode Wartość. Wartość domyślna to None.

Wyjątki

Określona wartość podczas ustawiania tej właściwości nie jest prawidłową DataGridViewAutoSizeColumnsMode wartością.

Określona wartość podczas ustawiania tej właściwości to ColumnHeader, nagłówki kolumn są ukryte, a co najmniej jedna widoczna kolumna ma AutoSizeMode wartość NotSetwłaściwości .

-lub-

Określona wartość podczas ustawiania tej właściwości to Fill i co najmniej jedna widoczna kolumna z wartością AutoSizeModeNotSet właściwości jest zamrożona.

Przykłady

Poniższy przykład kodu ilustruje sposób użycia tej właściwości w scenariuszu wzorca/szczegółów, w którym dwie DataGridView kontrolki wyświetlają dane z dwóch tabel w relacji nadrzędnej/podrzędnej. W tym przykładzie tryb określania rozmiaru kolumny dla kontrolki głównej to None, a szerokość kolumny jest inicjowana programowo w celu dopasowania do załadowanych wartości. Kontrolka szczegółów jest ustawiana na tryb automatycznego określania rozmiaru kolumn, dzięki czemu kolumny będą automatycznie dostosowywane za każdym razem, gdy wartości zmienią się (na przykład gdy użytkownik zmieni bieżący wiersz w tabeli nadrzędnej). Ten przykład jest częścią większego przykładu dostępnego w temacie How to: Create a Master/Detail Form Using Two Windows Forms DataGridView Controls (Jak utworzyć formularz główny/szczegółowy przy użyciu dwóch Windows Forms kontrolek DataGridView).

private void Form1_Load(object sender, System.EventArgs e)
{
    // Bind the DataGridView controls to the BindingSource
    // components and load the data from the database.
    masterDataGridView.DataSource = masterBindingSource;
    detailsDataGridView.DataSource = detailsBindingSource;
    GetData();

    // Resize the master DataGridView columns to fit the newly loaded data.
    masterDataGridView.AutoResizeColumns();

    // Configure the details DataGridView so that its columns automatically
    // adjust their widths when the data changes.
    detailsDataGridView.AutoSizeColumnsMode = 
        DataGridViewAutoSizeColumnsMode.AllCells;
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles Me.Load

    ' Bind the DataGridView controls to the BindingSource
    ' components and load the data from the database.
    masterDataGridView.DataSource = masterBindingSource
    detailsDataGridView.DataSource = detailsBindingSource
    GetData()

    ' Resize the master DataGridView columns to fit the newly loaded data.
    masterDataGridView.AutoResizeColumns()

    ' Configure the details DataGridView so that its columns automatically
    ' adjust their widths when the data changes.
    detailsDataGridView.AutoSizeColumnsMode = _
        DataGridViewAutoSizeColumnsMode.AllCells

End Sub

Uwagi

Ta właściwość umożliwia skonfigurowanie kontrolki tak, aby szerokość kolumny były automatycznie dostosowywane w celu wypełnienia kontrolki lub dopasowania jej do zawartości komórki. Zmiany rozmiaru są wprowadzane w trybie wypełniania za każdym razem, gdy zmienia się szerokość kontrolki. W trybach określania rozmiaru na podstawie zawartości zmiany rozmiaru są zmieniane za każdym razem, gdy zawartość komórki zmienia się lub, jeśli WrapMode jest włączona, za każdym razem, gdy zmienia się wysokość wiersza. Niektóre tryby ustalania rozmiaru oparte na zawartości umożliwiają ograniczenie rozmiaru do aktualnie wyświetlanych wierszy w celu zwiększenia wydajności.

Aby zmienić tryb ustalania rozmiaru dla pojedynczej kolumny, ustaw jej AutoSizeMode właściwość. Wartość domyślna tej właściwości to NotSet, wskazująca, że kolumna dziedziczy jej zachowanie i InheritedAutoSizeMode wartość właściwości z kontrolki.

Kolumny w trybie wypełniania dzielą dostępną szerokość kontrolki w proporcjach wskazywanych przez ich FillWeight wartości właściwości. Szerokość dostępna dla trybu wypełnienia jest określana przez odjęcie szerokości wszystkich pozostałych kolumn od szerokości obszaru klienta kontrolki. Jeśli ta szerokość jest mniejsza niż łączne MinimumWidth wartości wszystkich kolumn w trybie wypełniania, zostanie wyświetlony poziomy pasek przewijania, wszystkie kolumny w trybie wypełniania są wyświetlane z minimalnymi szerokościami, a zmiana rozmiaru kolumny użytkownika jest wyłączona. Aby uzyskać więcej informacji na temat trybu wypełniania kolumny, zobacz Tryb wypełniania kolumny w kontrolce DataGridView Windows Forms.

Tylko kolumny z wartością Visibletrue właściwości są zmieniane automatycznie, a zmiana widoczności kolumny nie powoduje zmiany rozmiaru. Ponadto po ustawieniu automatycznego zmieniania rozmiaru kolumn użytkownik nie może dostosować szerokości kolumn za pomocą myszy.

Aby programowo dostosować szerokość kolumny, użyj AutoResizeColumn metod lub AutoResizeColumns ustaw właściwość kolumny Width .

Aby uzyskać więcej informacji na temat automatycznego określania rozmiaru opartego na zawartości, zobacz Opcje określania rozmiaru w kontrolce DataGridView Windows Forms.

Dotyczy

Zobacz też