[wpf] Come rimuovere la colonna aggiuntiva Datagrid


Answers

Un modo per evitare è impostare AutoGenerateColumns su False ( approccio solo XAML ).

Fornisci la tua raccolta di colonne e set width for last column su * .

<DataGrid x:Name="dataGrid" IsReadOnly="True" AutoGenerateColumns="False">
    <DataGrid.Columns>
       <DataGridTextColumn Binding="{Binding OrderId}" Header="OrderId"/>
       <DataGridTextColumn Binding="{Binding ProductId}" Header="ProductId"/>
       <DataGridTextColumn Binding="{Binding UnitPrice}" Header="UnitPrice"/>
       <DataGridTextColumn Binding="{Binding Quantity}" Header="Quantity"/>
       <DataGridTextColumn Binding="{Binding Discount}" Header="Discount"
                           Width="*"/>
    </DataGrid.Columns>
</DataGrid>

Sostituisci i binding per le tue colonne con le proprietà corrispondenti nella classe del tuo modello. L'output sarà così:

Tuttavia, nel caso in cui si desideri distribuire lo spazio disponibile in modo uguale per tutte le colonne. Puoi set width to * for all columns . L'output sarà così:

Question

Ho vincolato la fonte degli elementi a Datatable per Datagrid. mostra colonne aggiuntive su come rimuoverlo

Il mio codice:

<DataGrid Name="dataGrid"  IsReadOnly="True"  VerticalAlignment="Top"
          ItemsSource="{Binding Cus}" AutoGenerateColumns="True"/>

mostra colonne extra Come rimuoverlo?

Immagine dello schermo :




Stavo combattendo su questo ColumnWidth="*" per qualche ora, la Width="\*" risolto il mio problema mentre datagrid ColumnWidth="*" non funzionava nel mio caso.







Tags

wpf   datagrid