DataGrid.AutoGenerateColumns Özellik

Tanım

Sütunların otomatik olarak oluşturulup oluşturulmayacağını gösteren bir değer alır veya ayarlar.Gets or sets a value that indicates whether the columns are created automatically.

public:
 property bool AutoGenerateColumns { bool get(); void set(bool value); };
public bool AutoGenerateColumns { get; set; }
member this.AutoGenerateColumns : bool with get, set
Public Property AutoGenerateColumns As Boolean

Özellik Değeri

Boolean

true sütunlar otomatik olarak oluşturulursa, Aksi takdirde, false .true if columns are created automatically; otherwise, false. Kayıtlı varsayılan değer true .The registered default is true. Değeri neyin etkileyebilecek hakkında daha fazla bilgi için bkz DependencyProperty ..For more information about what can influence the value, see DependencyProperty.

Örnekler

Aşağıdaki örnek, olay işleyicisindeki sütunları otomatik oluşturma ve oluşturma sırasında sütunları değiştirme işlemlerinin nasıl yapılacağını gösterir AutoGeneratingColumn .The following example shows how to auto-generate columns and change the columns at creation time in the AutoGeneratingColumn event handler.

<!-- The DataGrid.DataContext is a DataTable that contains a list of customers.  The DataTable columns are  
     Title, FirstName, MiddleName, LastName, Suffix, CompanyName, EmailAddress, and Phone.-->
<DataGrid Name="DG1" ItemsSource="{Binding}" AutoGenerateColumns="True" AutoGeneratingColumn="DG1_AutoGeneratingColumn" />
//Access and update columns during autogeneration
private void DG1_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
    string headername = e.Column.Header.ToString();

    //Cancel the column you don't want to generate
    if (headername == "MiddleName")
    {
        e.Cancel = true;
    }

    //update column details when generating
    if (headername == "FirstName")
    {
        e.Column.Header = "First Name";
    }
    else if (headername == "LastName")
    {
        e.Column.Header = "Last Name";
    }
    else if (headername == "EmailAddress")
    {
        e.Column.Header = "Email";
    }
}
'Access and update columns during autogeneration
Private Sub DG1_AutoGeneratingColumn(ByVal sender As Object, ByVal e As DataGridAutoGeneratingColumnEventArgs)
    Dim headername As String = e.Column.Header.ToString()
    'Cancel the column you don't want to generate
    If headername = "MiddleName" Then
        e.Cancel = True
    End If

    'update column details when generating
    If headername = "FirstName" Then
        e.Column.Header = "First Name"
    ElseIf headername = "LastName" Then
        e.Column.Header = "Last Name"
    ElseIf headername = "EmailAddress" Then
        e.Column.Header = "Email"
    End If
End Sub

Açıklamalar

AutoGenerateColumnsOtomatik olarak true oluşturulan sütunları olarak ayarlama veya kaldırma false veya kaldırma.Setting AutoGenerateColumns to true or false creates or removes auto-generated columns. AutoGenerateColumnsÖzelliği olarak ayarlandığında true , AutoGeneratingColumn olay oluşturulan her sütun için oluşturulur.When the AutoGenerateColumns property is set to true, the AutoGeneratingColumn event will be raised for each column that is created. Olay işleyicisinde oluşturulan sütunu değiştirebilir veya iptal edebilirsiniz AutoGeneratingColumn .You can change or cancel the column being created in the AutoGeneratingColumn event handler.

Tüm sütunların otomatik üretimi tamamlandığında, AutoGeneratedColumns olay tetiklenir.When auto-generation of all columns is complete, the AutoGeneratedColumns event is raised.

Not

DataGrid kaynak XML verisi olduğunda, sütunlar otomatik olarak oluşturulamaz.DataGrid cannot auto-generate columns when the source is XML data. Bu durumda, özel bir koleksiyon oluşturun Columns .In this case, create a custom Columns collection. Örnek için bkz. DataGridTextColumnFor an example, see DataGridTextColumn.

Şunlara uygulanır

Ayrıca bkz.