public PresetManagerColumnViewModel( PresetManagerViewModel presetManager, ColumnViewModelPreset preset, DataColumnView columnView) { if (presetManager == null) { throw new ArgumentNullException(nameof(presetManager)); } if (preset == null) { throw new ArgumentNullException(nameof(preset)); } if (columnView == null) { throw new ArgumentNullException(nameof(columnView)); } PresetManager = presetManager; Preset = preset; ColumnType = PresetManagerColumnType.Configurable; defaultSupportedFormat = columnView.FormatProvider.DefaultSupportedFormat(); SupportedFormats = columnView.FormatProvider.SupportedFormats(); RefreshFromPreset(); }
public AsyncDataGridColumn( AsyncDataGridColumnsViewModel columns, DataColumnView columnModel, AsyncDataViewModel adv, bool isDisconnected) { Columns = columns; this.columnModel = columnModel; this.adv = adv; IsDisconnected = isDisconnected; isInitializing = true; if (isDisconnected) { ModelColumnIndex = -1; ModelVisibleColumnIndex = -1; IsVisible = true; Width = 45.0; TextAlignment = TextAlignment.Right; } ColumnName = columnModel.Name; TextAlignment = TextAlignment.Left; CoerceValue(WidthProperty); RefreshViewModelFromModel(); isInitializing = false; }
private void ModifyFilter( DataColumnView column, FilterConditionAction action, object mask = null) { var filter = view.filterable.Filter ?? new TraceLogFilter(); ModifyFilter(filter, column, action, mask); view.filterable.Filter = filter; }
private void ModifyFilter( TraceLogFilter filter, DataColumnView column, FilterConditionAction action, object mask = null) { Debug.Assert(rowIndex != null); var columnId = filterableColumnsMap[column.ColumnId]; if (columnId != Guid.Empty) { column = view.Columns.First(x => x.ColumnId == columnId); } else { columnId = column.ColumnId; } var providerId = providerIdColumn[rowIndex.Value]; string expr; if (columnId == providerIdColumn.Id) { expr = $"ProviderId == {providerId:B}"; } else if (mask == null) { var field = columnToFieldMap[columnId]; var value = FormatValue(column.UntypedGetValue(rowIndex.Value)); expr = $"ProviderId == {providerId:B} && {field} == {value}"; } else { var field = columnToFieldMap[columnId]; expr = $"ProviderId == {providerId:B} && ({field} & {mask}) != 0"; } filter.Conditions.Add(new TraceLogFilterCondition(expr, true, action)); }