Laden...

Wie kann ich eine Spalte im GridView ausblenden?

Erstellt von MMazi vor 3 Jahren Letzter Beitrag vor 3 Jahren 577 Views
M
MMazi Themenstarter:in
45 Beiträge seit 2020
vor 3 Jahren
Wie kann ich eine Spalte im GridView ausblenden?

Hallo Alle Zusammen

Ich habe eine ListViwe in WPF ertsellt mit vier Spalten, wird aber nun 5 Spalten
angezeigt, wie kann ich die fünfte Spalte ausblenden?
Vielen Dank für die Antworten


<ListView
            x:Name="lstNames"
            Grid.Row="0"
            Grid.Column="1"
            Margin="5,5,6,5"
             
            SelectionChanged="lstNames_SelectionChanged"
            
            >
            <ListView.View  >
                <GridView x:Name="grdNames">
                    <GridViewColumn
                        Width="100"
                        DisplayMemberBinding="{Binding Start, StringFormat={}{00:HH:mm:ss}}"
                        Header="Start" />
                    <GridViewColumn
                        Width="100"
                        DisplayMemberBinding="{Binding Ende, StringFormat={}{00:HH:mm:ss}}"
                        Header="Ende" />
                    <GridViewColumn
                        x:Name="sptDauer"
                        Width="100"
                        DisplayMemberBinding="{Binding Dauer, StringFormat={}{0:m\\:ss}}"
                        Header="Dauer" />
                    <GridViewColumn
                        Width="220"
                        DisplayMemberBinding="{Binding Bemerkung}"
                        Header="Bemerkung"/>
                    
                </GridView>
                
            </ListView.View>
        </ListView>

4.931 Beiträge seit 2008
vor 3 Jahren

Du hast ja explizit für alle 4 Spalten die Breite gesetzt, d.h. die 5. Spalte ist der Rest (sofern das GridView breiter ist).
Wenn du die 4. Spalte so groß wie den Rest haben möchtest, dann benutze


<GridViewColumn
    Width="*"
    DisplayMemberBinding="{Binding Bemerkung}"
    Header="Bemerkung"/>

M
MMazi Themenstarter:in
45 Beiträge seit 2020
vor 3 Jahren

Danke Aber dann Es gibt diese Fehlermeldung aus: > Fehlermeldung:

Die Zeihenfolge "*" kann nicht in "Length"konvertiert werden

M
MMazi Themenstarter:in
45 Beiträge seit 2020
vor 3 Jahren

Ja stimmt, hab einfach die fünfte tabele Width = "500" gegeben und der Titel links gebunden , als zwischenlösung
Danke aufjedenfall

M
23 Beiträge seit 2020
vor 3 Jahren

Hallo

Warum machst du das nicht mit DataGridTextColumn?



<DataGrid x:Name="grdNames">
             <DataGrid.Columns>
                    <DataGridTextColumn
                        Width="100"
                        DisplayMemberBinding="{Binding Start, StringFormat={}{00:HH:mm:ss}}"
                        Header="Start" />
                    <DataGridTextColumn
                        Width="100"
                        DisplayMemberBinding="{Binding Ende, StringFormat={}{00:HH:mm:ss}}"
                        Header="Ende" />
                    <DataGridTextColumn
                        x:Name="sptDauer"
                        Width="100"
                        DisplayMemberBinding="{Binding Dauer, StringFormat={}{0:m\\:ss}}"
                        Header="Dauer" />
                    <DataGridTextColumn
                        Width="*"
                        DisplayMemberBinding="{Binding Bemerkung}"
                        Header="Bemerkung"/>
            </DataGrid.Columns>
 </DataGrid>

Habe das jetzt nicht getestet aber so sollte es funktionieren.

Gruß

Mattes