private void DataGrid_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e) { if (e.RowIndex >= 0 && e.RowIndex < DataGrid.Rows.Count) { var row = DataGrid.Rows[e.RowIndex]; if (row != null && row.DataBoundItem != null) { ProduktAtrybut pa = (ProduktAtrybut)row.DataBoundItem; if (!pa.Aktywny) { row.DefaultCellStyle.ForeColor = Color.Gray; row.DefaultCellStyle.SelectionForeColor = Color.Gray; } else if (!pa.Dostepny) { row.DefaultCellStyle.ForeColor = Color.Red; row.DefaultCellStyle.SelectionForeColor = Color.Red; } if (pa.Aktywny && pa.Dostepny) { row.DefaultCellStyle.ForeColor = Color.Black; row.DefaultCellStyle.SelectionForeColor = Color.White; } } } }
private void DataGrid_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (fireEvents && e.RowIndex >= 0 && e.RowIndex < DataGrid.Rows.Count) { ProduktAtrybut pa = (ProduktAtrybut)DataGrid.Rows[e.RowIndex].DataBoundItem; if (DataGrid.Columns[e.ColumnIndex].Name == "AktywnyColumn" || DataGrid.Columns[e.ColumnIndex].Name == "DostepnyColumn") { Enova.Business.Old.Core.ContextManager.WebContext.OptimisticSaveChanges(); try { Enova.Business.Old.Core.ContextManager.WebContext.Refresh(System.Data.Objects.RefreshMode.StoreWins, pa); } catch { } var produkt = pa.Produkt; Enova.Business.Old.Core.ContextManager.WebContext.Refresh(System.Data.Objects.RefreshMode.StoreWins, produkt); produkt.Gotowy = (produkt.Synchronizacja == (byte)RowSynchronizeOld.Synchronized || produkt.Synchronizacja == (byte)RowSynchronizeOld.NotsynchronizedEdit) ? true : produkt.Gotowy; produkt.Stamp = DateTime.Now; switch ((RowSynchronizeOld)produkt.Synchronizacja) { case RowSynchronizeOld.Synchronized: produkt.Synchronizacja = (byte)RowSynchronizeOld.NotsynchronizedEdit; break; case RowSynchronizeOld.NotsynchronizedDelete: produkt.Synchronizacja = (byte)RowSynchronizeOld.NotsynchronizedNew; break; } Enova.Business.Old.Core.ContextManager.WebContext.OptimisticSaveChanges(); try { Enova.Business.Old.Core.ContextManager.WebContext.Refresh(System.Data.Objects.RefreshMode.StoreWins, pa); } catch { } } } }