DataGrid i ukrywanie wybranych kolumn

0

Witam mam jedno okno gdzie do DataGrid'a będą pobierane różne dane, w zależności od tego jakie dane będę pobierał chcę poukrywać kilka kolumn.
Nie bardzo wiem jednak jak się za to zabrać.
cs:

public void pobierzDane()
        {
            string sql = "SELECT * FROM uzytkownicy";
            MySqlConnection polaczenie = new MySqlConnection(Globalne.mojePolaczenie);
            try
            {
                polaczenie.Open();
                using (MySqlCommand cmdSel = new MySqlCommand(sql, polaczenie))
                {
                    MySqlDataAdapter da = new MySqlDataAdapter(cmdSel);

                    // Przypisanie do własnej klasy
                    cmdSel.CommandText = sql;
                    MySqlDataReader reader = cmdSel.ExecuteReader();
                    List<Uzytkownik> uzytkownicy = new List<Uzytkownik>();
                    while (reader.Read())
                    {
                        Uzytkownik uzytkownik = new Uzytkownik();
                        uzytkownik.id = Convert.ToInt32(reader["id"].ToString());
                        uzytkownik.login = reader["login"].ToString();
                        uzytkownik.haslo = reader["haslo"].ToString();
                        uzytkownik.imie = reader["imie"].ToString();
                        uzytkownik.nazwisko = reader["nazwisko"].ToString();
                        uzytkownik.email = reader["email"].ToString();
                        uzytkownik.utworzony = Convert.ToDateTime(reader["utworzony"].ToString());
                        uzytkownik.zmodyfikowany = Convert.ToDateTime(reader["zmodyfikowany"].ToString());
                        uzytkownik.tworca = Convert.ToInt32(reader["tworca"].ToString());
                        uzytkownicy.Add(uzytkownik);
                    }

                    dataGrid.ItemsSource = uzytkownicy;
                    
                    dataGrid.Columns[0].Visibility = Visibility.Collapsed; // to niestety nie działa :(
                    
                    //Koniec
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }

XAML:

<Window x:Class="App.Admin"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:App"
        mc:Ignorable="d"
        Title="Admin" Height="400" Width="500">
    <Grid>
        <StackPanel HorizontalAlignment="Left" Height="349" Margin="10,10,0,0" VerticalAlignment="Top" Width="100">
            <Button x:Name="bUzytkownicy" Content="Użytkownicy" Margin="2"/>
            <Button x:Name="bUprawninia" Content="Uprawnienia" Margin="2"/>
            <Button x:Name="bFunkcje" Content="Funkcje" Margin="2"/>
            <Button x:Name="button3" Content="" Margin="2"/>
            <Button x:Name="button4" Content="" Margin="2"/>
            <Button x:Name="button5" Content="" Margin="2"/>
        </StackPanel>
        <DataGrid x:Name="dataGrid" ItemsSource="{Binding}" HorizontalAlignment="Left" Margin="115,10,0,0" VerticalAlignment="Top" Height="300" Width="367" ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto" CanUserResizeColumns="False" CanUserResizeRows="False" CanUserReorderColumns="False" IsReadOnly="True" AutoGenerateColumns="True"/>
        <StackPanel HorizontalAlignment="Left" Height="44" Margin="115,315,0,0" VerticalAlignment="Top" Width="367">
            <Grid> 
                <Button x:Name="bDodaj" Content="Dodaj" Grid.Column="0" Margin="2"/>
                <Button x:Name="bEdytuj" Content="Edytuj" Grid.Column="1" Margin="2"/>
                <Button x:Name="bUsun" Content="Usuń" Grid.Column="2" Margin="2"/>
                <Button x:Name="button33" Content="Button" Grid.Column="3" Margin="2"/>
                <Button x:Name="button44" Content="Button" Grid.Column="4" Margin="2"/>
                <Button x:Name="button55" Content="Button" Grid.Column="5" Margin="2"/>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="auto"/>
                    <ColumnDefinition Width="auto"/>
                    <ColumnDefinition Width="auto"/>
                    <ColumnDefinition Width="auto"/>
                    <ColumnDefinition Width="auto"/>
                    <ColumnDefinition Width="auto"/>
                </Grid.ColumnDefinitions>
            </Grid>
        </StackPanel>

    </Grid>
</Window>
0

Temat rozwiązany:

//ukrywanie wybranych pól z dataGrid
                    dataGrid.AutoGeneratingColumn += (s, e) =>
                    {
                        if (e.Column.Header.ToString() == "id")
                            e.Column.Visibility = Visibility.Collapsed;
                        if (e.Column.Header.ToString() == "haslo")
                            e.Column.Visibility = Visibility.Collapsed;
                        if (e.Column.Header.ToString() == "utworzony")
                            e.Column.Visibility = Visibility.Collapsed;
                        if (e.Column.Header.ToString() == "zmodyfikowany")
                            e.Column.Visibility = Visibility.Collapsed;
                        if (e.Column.Header.ToString() == "tworca")
                            e.Column.Visibility = Visibility.Collapsed;
                    }; 

1 użytkowników online, w tym zalogowanych: 0, gości: 1