private void InitializeFilterView(FilterView filterview) { var okButton = FindControl.FindChild <Button>(filterview, "btnOk"); okButton.Click += OnPopupButtonClick; var cancelButton = FindControl.FindChild <Button>(filterview, "btnCancel"); cancelButton.Click += OnPopupButtonClick; var clearButton = FindControl.FindChild <Button>(filterview, "btnClear"); clearButton.Click += OnPopupButtonClick; filterview.LostFocus -= PopLostFocus; filterview.LostFocus += PopLostFocus; filterview.Focus(); filterview.UpdateLayout(); }
private void EvaluateDatagridColumn() { DataGridRow rowContainer = FindDataGridControl.GetRow(this, 0); Type itemSourceType = (this.ItemsSource as IEnumerable).AsQueryable().ElementType; foreach (ExtendedTemplateColumn col in this.Columns) { col.FieldNameType = ReflectionHelper.GetPropertyType(col.FieldName, itemSourceType); col.IsNullableBinding = (col.FieldNameType == typeof(string)) || (Nullable.GetUnderlyingType(col.FieldNameType) != null); if (col.IsDefaultBinding) { continue; } var datagridCell = FindDataGridControl.GetCell(this, 0, col.DisplayIndex); var framework = FindControl.FindChild <FrameworkElement>((ContentPresenter)datagridCell.Content, string.Empty); var textBlock = framework as TextBlock; col.IsDefaultBinding = textBlock == null; } }
private void AutoFilterMouseDown(object sender, MouseButtonEventArgs e) { var columnHeader = FindControl.FindParent <DataGridColumnHeader>((ContentControl)sender); _currentColumn = columnHeader.Column as ExtendedTemplateColumn; if (_currentColumn == null) { return; } var popup = FindControl.FindChild <Popup>(columnHeader, "popupColumnFilter"); if (popup == null) { return; } popup.IsOpen = true; var popupSize = new Size(popup.ActualWidth, popup.ActualHeight); var position = new Point { X = columnHeader.ActualWidth - 19, Y = columnHeader.ActualHeight }; popup.PlacementRectangle = new Rect(position, popupSize); var mainGrid = FindControl.FindParent <ExtendedDatagridControl>(popup); mainGrid.FilterHelper.CurrentColumnInfo = new Model.ColumnInfo() { Column = _currentColumn }; var filterViewControl = FindControl.FindChild <FilterView>(popup.Child, "ColumnValuesList"); filterViewControl.ListItems = mainGrid.FilterHelper.GetDistinctColumnValues(); InitializeFilterView(filterViewControl); }