|
|||||||
|
|
|
![]() |
|
|
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", "[email protected]", "stmp.gmail.com", "[email protected]", "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: 16:32.




















