Attualmente sto lavorando su un datagrid C# WPF. Ho un DataGrid che ha colonne generate automaticamente e il codice si connette a un database SQLite e crea un set di dati e quindi questo set di dati è impostato come DataSource DataGrid.DataGrid Riga Sfondo basato sul valore della cella
Di seguito si riporta il codice con il codice XAML del DataGrid
<DataGrid AutoGenerateColumns="True"
Margin="12,71,12,32"
Name="tblLog"
ColumnWidth="*"
CanUserResizeRows="False"
AreRowDetailsFrozen="False"
CanUserAddRows="True"
CanUserDeleteRows="True"
IsReadOnly="True"
MouseDoubleClick="tblLog_MouseDoubleClick">
</DataGrid>
E sotto è il codice per impostare l'ItemsSource per il DataGrid
try
{
DataSet ds = new DataSet();
SQLiteDataAdapter da = new SQLiteDataAdapter(query, db.conn);
da.Fill(ds);
//tblGrid.AutoGenerateColumns = true;
tblGrid.ItemsSource = ds.Tables[0].DefaultView;
}
catch (SQLiteException ex)
{
MessageBox.Show("Unable to retrieve logins from database.\n\n" + ex.Message + "\n\nError Code: " + ex.ErrorCode);
}
Le colonne che vengono mostrate nel database (auto generato) sono ID, data, ora, stato. Quello che devo essere in grado di fare è se il valore in una riga della colonna di stato è uguale a Errore cambia il colore di sfondo di quella riga.
Suppongo di dover aggiungere una sorta di tag di stile e DataTrigger all'interno dei tag DataGrid ma non sono sicuro di cosa ho bisogno. Qualunque cosa ho provato nel codice che imposta ItemsSource mostra un errore che dice che Source deve essere vuoto prima di aggiungere ItemsSource.
Grazie per l'aiuto che puoi fornire.
Il modo in cui vengono formattate le celle e le righe utilizzando stili non denominati senza nome. Si applicano a tutti gli elementi quando specificiamo il loro TargeType. http://www.codeproject.com/KB/WPF/WPFDataGridExamples.aspx –