Skocz do zawartości

DataGrid i ukrywanie wybranych kolumn


kurdak

Recommended Posts

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>

 

Edytowano przez kurdak
Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...