private void grid_CurrentCellChanged(object sender, DataGridCellEventArgs e)
 {
     if (e.Cell != null)
     {
         RemoveCurrentCell(gridCategories, e);
     }
 }
 private void grid_LoadedCellPresenter(object sender, DataGridCellEventArgs e)
 {
     if (e.Cell.Column.Name == "Name")
     {
         var task = e.Cell.Row.DataItem as Task;
         e.Cell.Presenter.Padding = new Thickness(task.Level * 16, 0, 0, 0);
     }
     else
     {
         e.Cell.Presenter.Padding = new Thickness();
     }
 }
 private void C1DataGridEE_CommittedEdit(object sender, DataGridCellEventArgs e)
 {
     Dispatcher.BeginInvoke(new Action(delegate
     {
         var row = e.Cell.Row;
         // this is not a new row. New row is not present in ItemsSource with which ExpressionEditor works
         // ignore expression column changing
         if (!ExpressionEditors.Contains(e.Cell.Column.Name))
         {
             // evaluate the expression
             var idx = ((ListCollectionView)ItemsSource).IndexOf(row.DataItem);
             if (idx >= 0 && Rows.Count > idx)
             {
                 ExpressionEditors.Evaluate(idx);
             }
         }
     }));
 }
示例#4
0
 void grid_LoadedCellPresenter(object sender, DataGridCellEventArgs e)
 {
     if (e.Cell.Column.Name == "ExpectedDelivery")
     {
         ProductDeliveryInfo p            = (ProductDeliveryInfo)e.Cell.Row.DataItem;
         DateTime            realDelivery = p.ReadyForDelivery.AddDays(p.DeliveryDays);
         int daysDifference = p.ExpectedDelivery.Subtract(realDelivery).Days;
         if (daysDifference < -2)
         {
             e.Cell.Presenter.Background = (Brush)Resources["ProblemBrush"];
         }
         else if (daysDifference < 0)
         {
             e.Cell.Presenter.Background = (Brush)Resources["DelayBrush"];
         }
         else if (daysDifference < 1)
         {
             e.Cell.Presenter.Background = (Brush)Resources["WarningBrush"];
         }
     }
 }
示例#5
0
 /// <summary> 
 /// Raises the CommitCellEdit event.
 /// </summary> 
 protected virtual void OnCommitCellEdit(DataGridCellEventArgs e)
 {
     EventHandler<DataGridCellEventArgs> handler = this.CommitCellEdit; 
     if (handler != null)
     {
         handler(this, e); 
     } 
 }
 private void RemoveCurrentCell(C1DataGrid dataGrid, DataGridCellEventArgs e)
 {
     if (dataGrid != e.Cell.DataGrid)
     {
         dataGrid.CurrentRow = null;
     }
     foreach (var row in dataGrid.Rows.GetLoadedRows())
     {
         if (row.Type == DataGridRowType.Item ||
             row.Type == DataGridRowType.New)
         {
             if (row.DetailsPresenter != null)
             {
                 var childDataGrid = row.DetailsPresenter.Content as C1DataGrid;
                 if (childDataGrid != null)
                 {
                     RemoveCurrentCell(childDataGrid, e);
                 }
             }
         }
     }
 }
示例#7
0
 void grid_UnloadedCellPresenter(object sender, DataGridCellEventArgs e)
 {
     // set as defualt, for recycling
     e.Cell.Presenter.Background = null;
 }
示例#8
0
 private void DataGridCellCollection_CellRemoved(object sender, DataGridCellEventArgs e)
 { 
     if (this._cellsElement != null)
     {
         this._cellsElement.Children.Remove(e.Cell); 
     } 
 }