private void DataGridControl_RowDrop(object sender, ModernDragEventArgs e) { var data = e.Data; var gridContext = e.GridContext as DataGridContext; if (data.GetDataPresent(typeof(int)) == true) { var index = (int)data.GetData(typeof(int)); var item = e.Item; var prop = TypeDescriptor.GetProperties(item)[CremaSchema.Index]; if (gridContext != null) { gridContext.SelectedCellRanges.Clear(); gridContext.CurrentColumn = null; } prop.SetValue(item, index); e.Handled = true; this.Dispatcher.InvokeAsync(() => { if (gridContext != null) { gridContext.SelectItem(item); gridContext.CurrentItem = item; } }, DispatcherPriority.Render); } }
private void DataGridControl_RowDrag(object sender, ModernDragEventArgs e) { var item = e.Item; var data = e.Data; var prop = TypeDescriptor.GetProperties(item)[CremaSchema.Index]; var value = (int)prop.GetValue(item); data.SetData(value); e.Handled = true; }
private async void PART_DataGridControl_RowDrop(object sender, ModernDragEventArgs e) { e.Handled = true; var data = e.Data; var item = e.Item; if (data.GetDataPresent(typeof(int)) == true && sender is Ntreev.Crema.Client.Tables.Documents.Views.TableSourceDataGridControl gridControl) { var index = (int)data.GetData(typeof(int)); var authenticator = gridControl.Domain.GetService(typeof(Authenticator)) as Authenticator; try { var domain = gridControl.Domain; await domain.Dispatcher.InvokeAsync(() => domain.SetRow(authenticator, item, CremaSchema.Index, index)); } catch (Exception ex) { AppMessageBox.ShowError(ex); } } }
protected override void OnRowDrop(ModernDragEventArgs e) { var undoService = DiffUndoService.GetUndoService(this); if (undoService != null) { var action = new SetIndexAction(e.Item) { Selector = DiffUndoService.GetSelector(this), SelectedItem = this.DataContext }; base.OnRowDrop(e); if (e.Handled == true) { action.Complete(); undoService.Push(action); } } else { base.OnRowDrop(e); } }
protected override void OnRowDrag(ModernDragEventArgs e) { base.OnRowDrag(e); }