示例#1
0
        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);
            }
        }
示例#2
0
        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;
        }
示例#3
0
        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);
                }
            }
        }
示例#4
0
        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);
            }
        }
示例#5
0
 protected override void OnRowDrag(ModernDragEventArgs e)
 {
     base.OnRowDrag(e);
 }