private void Refresh() { var gridContext = ModernDataGridControl.GetDataGridContext(this); if (gridContext != null) { var gridControl = gridContext.DataGridControl as ModernDataGridControl; this.filteredItems.Clear(); if (gridControl.SearchText != string.Empty) { var i = 0; var items = gridContext.GetScrollableItemInfos(); foreach (var item in items) { if (gridControl.Match(item.GridContext, item.Item) != null) { this.filteredItems.Add(i); } i++; } this.count = items.Count(); } this.InvalidateVisual(); } }
public override void OnApplyTemplate() { base.OnApplyTemplate(); this.dataGridControl = this.Template.FindName("PART_DataGridControl", this) as ModernDataGridControl; if (this.dataGridControl == null) { return; } this.view = this.dataGridControl.View as TableView; { try { this.dataGridControl.Columns.Add(new Column() { FieldName = CremaSchema.Index, ReadOnly = true, Width = 50, Title = nameof(CremaSchema.Index) }); } catch { } } //if (this.dataGridControl.Columns.Count == 0) { try { var columnNames = new string[] { "tagColumn", "enableColumn", "modifierColumn", "modifiedDateTimeColumn", "creatorColumn", "createdDateTimeColumn" }; foreach (var item in columnNames) { if (this.TryFindResource(item) is ColumnBase column) { this.dataGridControl.Columns.Add(column); } } } catch { } } this.dataGridControl.RowDrag += DataGridControl_RowDrag; this.dataGridControl.RowDrop += DataGridControl_RowDrop; this.dataGridControl.ItemsSourceChangeCompleted += DataGridControl_ItemsSourceChangeCompleted; this.dataGridControl.Columns.CollectionChanged += Columns_CollectionChanged; BindingOperations.SetBinding(this.viewSource, CollectionViewSource.SourceProperty, new Binding("Source.DefaultView") { Source = this, }); BindingOperations.SetBinding(this.dataGridControl, ItemsControl.ItemsSourceProperty, new Binding() { Source = this.viewSource, }); BindingOperations.SetBinding(this.dataGridControl, ModernDataGridControl.IsVerticalScrollBarOnLeftSideProperty, new Binding("IsVerticalScrollBarOnLeftSide") { Source = this, }); }
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) { base.OnMouseLeftButtonDown(e); var index = this.ParentColumn.VisiblePosition; var gridContext = ModernDataGridControl.GetDataGridContext(this); var gridControl = gridContext.DataGridControl as ModernDataGridControl; if (Keyboard.Modifiers == ModifierKeys.Control) { gridControl.AddSelection(this); e.Handled = true; } else if (Keyboard.Modifiers == ModifierKeys.Shift) { gridControl.SelectTo(this); e.Handled = true; } else if (Keyboard.Modifiers == (ModifierKeys.Control | ModifierKeys.Shift)) { gridControl.AddSelectionTo(this); e.Handled = true; } else { if (gridControl.GlobalCurrentColumn == this.ParentColumn) { this.mousePoint = e.GetPosition(this); } else if (gridControl.SelectionUnit == SelectionUnit.Cell) { gridControl.Select(this); } } }
public override void OnApplyTemplate() { base.OnApplyTemplate(); this.dataTypeControl.ApplyTemplate(); this.gridControl = this.dataTypeControl.Template.FindName("PART_DataGridControl", this.dataTypeControl) as ModernDataGridControl; this.searchBox.Visibility = Visibility.Collapsed; this.searchBox.IsVisibleChanged += SearchBox_IsVisibleChanged; BindingOperations.SetBinding(this, SearchTextProperty, new Binding(SearchBox.TextProperty.Name) { Source = this.searchBox, Mode = BindingMode.TwoWay, }); if (this.gridControl != null) { this.gridControl.ItemsSourceChangeCompleted += GridControl_ItemsSourceChangeCompleted; for (var i = 0; i < this.gridControl.CommandBindings.Count; i++) { var commandBinding = this.gridControl.CommandBindings[i]; if (commandBinding.Command == ModernDataGridCommands.NextMatchedItem || commandBinding.Command == ModernDataGridCommands.PrevMatchedItem) { this.CommandBindings.Add(commandBinding); } } } }
protected override void OnInitialized(EventArgs e) { base.OnInitialized(e); var gridContext = ModernDataGridControl.GetDataGridContext(this); var gridControl = gridContext.DataGridControl; gridControl.PropertyChanged += GridControl_PropertyChanged; }
private void RefreshCount() { var gridContext = ModernDataGridControl.GetDataGridContext(this); if (gridContext != null) { var gridControl = gridContext.DataGridControl; this.count = gridContext.GetScrollableItems().Count(); this.InvalidateVisual(); } }
public override void OnApplyTemplate() { base.OnApplyTemplate(); this.dataTableControl.ApplyTemplate(); this.gridControl = this.dataTableControl.Template.FindName("PART_DataGridControl", this.dataTableControl) as ModernDataGridControl; if (this.gridControl != null) { this.gridControl.ItemsSourceChangeCompleted += GridControl_ItemsSourceChangeCompleted; this.lineInfo = new GridControlLineInfo(this.gridControl); } }
public override void OnApplyTemplate() { base.OnApplyTemplate(); this.gridControl = this.Template.FindName(PART_DataGrid, this) as ModernDataGridControl; if (this.gridControl != null) { this.gridControl.SelectionChanged += GridControl_SelectionChanged; this.gridControl.ItemsSource = this.groupView; this.UpdateItemsSource(); this.UpdateActualItemHeight(); } }
protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e) { base.OnMouseLeftButtonUp(e); if (this.mousePoint.HasValue && this.mousePoint.Value == e.GetPosition(this)) { if (this.ParentColumn.AllowSort == true) { var gridContext = ModernDataGridControl.GetDataGridContext(this); this.DoSort(gridContext.Items); } } this.mousePoint = null; }
public override void OnApplyTemplate() { base.OnApplyTemplate(); var isNumberFormatting = (bool)(this.configService[typeof(NumberCellFormattingMenuItem), nameof(NumberCellFormattingMenuItem.IsNumberFormatting)] ?? false); this.dataTableControl.ApplyTemplate(); this.gridControl = this.dataTableControl.Template.FindName("PART_DataGridControl", this.dataTableControl) as ModernDataGridControl; this.gridControl.IsNumberFormatting = isNumberFormatting; if (this.gridControl != null) { this.gridControl.ItemsSourceChangeCompleted += GridControl_ItemsSourceChangeCompleted; this.lineInfo = new GridControlLineInfo(this.gridControl); } }
public override void OnApplyTemplate() { base.OnApplyTemplate(); this.dataGridControl = this.Template.FindName("PART_DataGridControl", this) as ModernDataGridControl; this.dataGridControl.Columns.Add(this.Resources["tagColumn"] as ColumnBase); this.dataGridControl.Columns.Add(this.Resources["enableColumn"] as ColumnBase); this.dataGridControl.Columns.Add(this.Resources["modifierColumn"] as ColumnBase); this.dataGridControl.Columns.Add(this.Resources["modifiedDateTimeColumn"] as ColumnBase); this.dataGridControl.Columns.CollectionChanged += Columns_CollectionChanged; (this.dataGridControl.VisibleColumns as INotifyCollectionChanged).CollectionChanged += VisibleColumns_CollectionChanged; this.dataGridControl.ItemsSourceChangeCompleted += dataGridControl_ItemsSourceChangeCompleted; }
private void RefreshIndex() { var gridContext = ModernDataGridControl.GetDataGridContext(this); if (gridContext != null) { var gridControl = gridContext.DataGridControl; if (gridControl.GlobalCurrentItem == null) { this.index = -1; } else { this.index = EnumerableUtility.IndexOf(gridContext.GetScrollableItems(), gridControl.GlobalCurrentItem); } this.InvalidateVisual(); } }
public override void OnApplyTemplate() { base.OnApplyTemplate(); this.dataGridControl = this.Template.FindName("PART_DataGridControl", this) as ModernDataGridControl; if (this.dataGridControl == null) { return; } if (this.dataGridControl.Columns.Count == 0) { try { #if DEBUG this.dataGridControl.Columns.Add(new Column() { FieldName = CremaSchema.Index, Title = CremaSchema.Index, }); #endif this.dataGridControl.Columns.Add(new Column() { FieldName = CremaSchema.ID, Title = CremaSchema.ID, }); } catch { } } this.dataGridControl.RowDrag += DataGridControl_RowDrag; this.dataGridControl.RowDrop += DataGridControl_RowDrop; this.dataGridControl.ItemsSourceChangeCompleted += DataGridControl_ItemsSourceChangeCompleted; BindingOperations.SetBinding(this.viewSource, DataGridCollectionViewSource.SourceProperty, new Binding("ItemsSource") { Source = this, }); BindingOperations.SetBinding(this.dataGridControl, ModernDataGridControl.ItemsSourceProperty, new Binding() { Source = this.viewSource, }); this.dataGridControl.IsDeleteCommandEnabled = true; }
public override void OnApplyTemplate() { base.OnApplyTemplate(); this.dataGridControl = this.Template.FindName("PART_DataGridControl", this) as ModernDataGridControl; if (this.dataGridControl == null) { return; } //if (this.dataGridControl.Columns.Count == 0) { try { #if DEBUG this.dataGridControl.Columns.Add(new Column() { FieldName = CremaSchema.Index, Title = CremaSchema.Index, }); #endif this.dataGridControl.Columns.Add(new Column() { FieldName = CremaSchema.ID, Title = CremaSchema.ID, }); } catch { } } if (this.dataGridControl.AutoCreateColumns == false) { try { var columnNames = new string[] { "tagColumn", "enableColumn", "modifierColumn", "modifiedDateTimeColumn", "creatorColumn", "createdDateTimeColumn" }; foreach (var item in columnNames) { if (this.TryFindResource(item) is ColumnBase column) { this.dataGridControl.Columns.Add(column); } } } catch { } } this.dataGridControl.RowDrag += DataGridControl_RowDrag; this.dataGridControl.RowDrop += DataGridControl_RowDrop; this.dataGridControl.ItemsSourceChangeCompleted += DataGridControl_ItemsSourceChangeCompleted; BindingOperations.SetBinding(this.viewSource, DataGridCollectionViewSource.SourceProperty, new Binding($"{nameof(Source)}.{nameof(CremaDataType.View)}") { Source = this, }); BindingOperations.SetBinding(this.dataGridControl, ModernDataGridControl.ItemsSourceProperty, new Binding() { Source = this.viewSource, }); BindingOperations.SetBinding(this.dataGridControl, ModernDataGridControl.IsVerticalScrollBarOnLeftSideProperty, new Binding(nameof(IsVerticalScrollBarOnLeftSide)) { Source = this, }); this.dataGridControl.IsDeleteCommandEnabled = true; }
protected override void PrepareContainer(DataGridContext dataGridContext, object item) { base.PrepareContainer(dataGridContext, item); ModernDataGridControl.SetInsertionRow(dataGridContext, this); }
public void RefreshDataContextError() { if (this.DataContext is IDataErrorInfo errorInfo && errorInfo.Error != string.Empty) { ModernDataGridControl.SetDataContextError(this, errorInfo.Error); }
public GridControlLineInfo(ModernDataGridControl gridControl, string displayName) { this.gridControl = gridControl; this.displayName = displayName; this.gridControl.PropertyChanged += GridControl_PropertyChanged; }
public GridControlLineInfo(ModernDataGridControl gridControl) : this(gridControl, null) { }
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { int index = value is int?(int)value : 0; return(new SolidColorBrush(ModernDataGridControl.GetColor(index))); }
protected void RefreshDataContextError() { if (this.DataContext is IDataErrorInfo errorInfo && this.FieldName != string.Empty && errorInfo[this.FieldName] != string.Empty) { ModernDataGridControl.SetDataContextError(this, errorInfo[this.FieldName]); }