|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Feb 2013
Messaggi: 15
|
[C#] WPF NASCONDERE COLONNE DELLA DATAGRID
Buondì,
nelle form gestire le datagrid era decisamente più semplice, con Wpf la situazione si complica. Io ho questo codice xaml Codice:
<DataGrid IsSynchronizedWithCurrentItem="True" CanUserAddRows="True" SelectionChanged="DataGridFarmaci_SelectionChanged_1" x:Name="DataGridFarmaci" ItemsSource="{Binding Path=.}" HorizontalAlignment="Left" Margin="0,176,0,0" VerticalAlignment="Top" Height="262" Width="935" Grid.RowSpan="2" Grid.ColumnSpan="2"> <DataGrid.Columns> <DataGridTextColumn Header="Principio Attivo" Binding="{Binding Path=principioAttivo}"/> <DataGridTextColumn Header="Prodotto" Binding="{Binding Path=DescrizioneProdotto}"/> <DataGridTextColumn Header="Unità di Misura" Binding="{Binding Path=um}"/> <DataGridTextColumn Header="Confezione" Binding="{Binding Path=descrizioneConfenzioneEstesa}"/> <DataGridTextColumn Header="AIC" Binding="{Binding Path=AIC}"/> <DataGridTextColumn Visibility="Hidden" Header="idSchedaTerapia" Binding="{Binding Path=idSchedaTerapia}"/> </DataGrid.Columns> </DataGrid> Questo è l'oggetto che gli passo: Codice:
public static ObservableCollection<Classi.FarmacoSchedaTerapia> GetFarmaciPrescriti(SqlConnection SQLConnection, int idOspite, int SchedaTerapiaId) { SqlCommand Cmd; ObservableCollection<Classi.FarmacoSchedaTerapia> SchedaTerapiaCol = new ObservableCollection<Classi.FarmacoSchedaTerapia>(); if (SQLConnection.State == ConnectionState.Closed) SQLConnection.Open(); Cmd = new SqlCommand(); Cmd.Connection = SQLConnection; Cmd.CommandText = "Select Tab_PA.descrizione, Farmaco.descrizioneProdotto, Farmaco.descrizioneConfezioneEstesa, Farmaco.um, Farmaco.AIC, FarmacoSchedaTerapia.idSchedaTerapia, FarmacoSchedaTerapia.id" + " FROM Farmaco " + " JOIN Tab_PA on Farmaco.mainCodPa = Tab_PA.cod_Pa" + " JOIN FarmacoSchedaTerapia " + " on FarmacoSchedaTerapia.idFarmaco = Farmaco.AIC" + " WHERE FarmacoSchedaTerapia.cancellato = 0" + " AND FarmacoSchedaTerapia.idSchedaTerapia = " + SchedaTerapiaId; try { SqlDataReader Reader = Cmd.ExecuteReader(); while (Reader.Read()) { SchedaTerapiaCol.Add(new Classi.FarmacoSchedaTerapia() { AIC = Reader["AIC"].ToString(), DescrizioneProdotto = Reader["descrizioneProdotto"].ToString(), principioAttivo = Reader["descrizione"].ToString(), descrizioneConfezioneEstesa = Reader["descrizioneConfezioneEstesa"].ToString(), um = Reader["um"].ToString(), idSchedaTerapia = Int32.Parse(Reader["idSchedaTerapia"].ToString()), idFST = Int32.Parse(Reader["id"].ToString()) }); } } catch (Exception ex) { if (NewtorkInterface.VerificaSeConnessi()) eMail.send("Errore in Try Catch", "segreteriamaxmedicalgroup@gmail.com", "stmp.gmail.com", "valerio.bignardi@maxmedicalgroup.com", "smtp.gmail.com", "maxmedicalgroup1", "", "", ""); } finally { SQLConnection.Close(); } return SchedaTerapiaCol; } e lo assegno alla datagrid in questo modo: Codice:
DataGridFarmaci.ItemsSource = Classi.FarmacoSchedaTerapia.GetFarmaciPrescriti(SQLConnection, idOspiteCorrente, CurrentSchedaTerapiaid); Dove sbaglio ? |
![]() |
![]() |
![]() |
#2 |
Junior Member
Iscritto dal: Feb 2013
Messaggi: 15
|
nessuno che sa come aiutarmi con le datagrid in wpf ?
![]() |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Sep 2008
Messaggi: 237
|
Metti autogeneratecolumn = false, o qualcosa del genere.
Quella property e' sempre a true di default ed e' per quello che ti fa colonne doppie. |
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: Feb 2013
Messaggi: 15
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:03.