private void ColumnExpression_Loaded(object sender, RoutedEventArgs e) { SpreadsheetHeaderExpressionText expressionTextBox = sender as SpreadsheetHeaderExpressionText; DataGridColumnHeader header = UIHelper.FindVisualParent <DataGridColumnHeader>(sender as FrameworkElement); int col = grid.Columns.IndexOf(header.Column); expressionTextBox.valueStore = valueStore; expressionTextBox.data = data.columnDatas[col]; }
private void RowExpression_Loaded(object sender, RoutedEventArgs e) { SpreadsheetHeaderExpressionText expressionTextBox = sender as SpreadsheetHeaderExpressionText; DataGridRowHeader header = UIHelper.FindVisualParent <DataGridRowHeader>(sender as FrameworkElement); DataGridRow gridRow = UIHelper.FindVisualParent <DataGridRow>(header); int row = (gridRow as DataGridRow).GetIndex(); expressionTextBox.valueStore = valueStore; expressionTextBox.data = data.rowDatas[row]; }
private void RowExpression_Executed(object sender, ExecutedRoutedEventArgs e) { DataGridRowHeader header = UIHelper.FindVisualParent <DataGridRowHeader>(sender as FrameworkElement); SpreadsheetHeaderExpressionText expressionTextBox = UIHelper.FindVisualChild <SpreadsheetHeaderExpressionText>(header); Dispatcher.BeginInvoke(DispatcherPriority.Input, new Action(delegate() { expressionTextBox.GetFocusBack(); })); }
private void ColumnExpression_GotFocus(object sender, RoutedEventArgs e) { SpreadsheetHeaderExpressionText expressionTextBox = sender as SpreadsheetHeaderExpressionText; DataGridColumnHeader header = UIHelper.FindVisualParent <DataGridColumnHeader>(sender as FrameworkElement); TextBox textBox = UIHelper.FindVisualChild <TextBox>(header); // TODO: there should be better way to hide the text than cleaning the header, // it's a workaround to fix the blank glitch if the expressionText contains variable //textBox.Visibility = Visibility.Hidden; int col = grid.Columns.IndexOf(header.Column); grid.Columns[col].Header = ""; }
private void ColumnExpression_LostFocus(object sender, RoutedEventArgs e) { SpreadsheetHeaderExpressionText expressionTextBox = sender as SpreadsheetHeaderExpressionText; DataGridColumnHeader header = UIHelper.FindVisualParent <DataGridColumnHeader>(sender as FrameworkElement); TextBox textBox = UIHelper.FindVisualChild <TextBox>(header); int col = grid.Columns.IndexOf(header.Column); string expression = expressionTextBox.GetExpression(); data.SetColumnExpression(col, expression); expressionTextBox.UpdateDisplay(); expressionTextBox.Visibility = Visibility.Hidden; //textBox.Visibility = Visibility.Visible; UpdateColumn(col); }
private void RowExpression_LostFocus(object sender, RoutedEventArgs e) { SpreadsheetHeaderExpressionText expressionTextBox = sender as SpreadsheetHeaderExpressionText; DataGridRowHeader header = UIHelper.FindVisualParent <DataGridRowHeader>(sender as FrameworkElement); DataGridRow gridRow = UIHelper.FindVisualParent <DataGridRow>(header); TextBox textBox = UIHelper.FindVisualChild <TextBox>(header); int row = (gridRow as DataGridRow).GetIndex(); string expression = expressionTextBox.GetExpression(); data.SetRowExpression(row, expression); expressionTextBox.UpdateDisplay(); expressionTextBox.Visibility = Visibility.Hidden; //textBox.Visibility = Visibility.Visible; UpdateRow(row); }