//private void UpdateButtonAddJoinContextMenu() //{ // Dictionary<JoinTable, List<ForeignKeyConstraint>> dict = new Dictionary<JoinTable, List<ForeignKeyConstraint>>(); // foreach (JoinTable join in JoinTables) // { // Table tbl = join.Table as Table; // if (tbl == null) // { // continue; // } // List<ForeignKeyConstraint> l = new List<ForeignKeyConstraint>(tbl.ReferTo); // dict.Add(join, l); // } // foreach (JoinTable join in JoinTables) // { // if (join.Referrer == null) // { // continue; // } // List<ForeignKeyConstraint> l; // if (dict.TryGetValue(join.Referrer, out l)) // { // l.Remove(join.JoinBy); // } // } // buttonAddJoinContextMenu.Items.Clear(); //} private void buttonFilterColumns_Click(object sender, RoutedEventArgs e) { SelectColumnWindow w = GetColumnFilterWindow(); if (w.IsVisible) { return; } w.Grid = dataGridResult; w.SelectedColumn = w.Grid.CurrentColumn; WindowLocator.LocateNearby(buttonFilterColumns, w, NearbyLocation.DownLeft); w.Closed += ColumnFilterWindow_Closed; w.Show(); }
private void SelectColumnWindow_Closed(object sender, EventArgs e) { SelectColumnWindow win = sender as SelectColumnWindow; DataGrid grid = win.Grid; DataGridColumn col = win.SelectedColumn; object row = grid.CurrentItem; if (row == null && 0 < grid.Items.Count) { row = grid.Items[0]; } if (row != null && col != null) { grid.ScrollIntoView(row, col); } }
private void GridSelectColumnButton_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; ScrollViewer sb = button.TemplatedParent as ScrollViewer; DataGrid grid = sb?.TemplatedParent as DataGrid; if (grid == null) { return; } SelectColumnWindow win = new SelectColumnWindow(); win.Closed += SelectColumnWindow_Closed; win.Grid = grid; ShowNearby(win, button, NearbyLocation.DownRight); }
private SelectColumnWindow GetColumnFilterWindow() { if (_selectColumnWindow != null) { return(_selectColumnWindow); } lock (_selectColumnWindowLock) { if (_selectColumnWindow != null) { return(_selectColumnWindow); } _selectColumnWindow = new SelectColumnWindow(); _selectColumnWindow.Owner = Window.GetWindow(this); return(_selectColumnWindow); } }
private void ColumnFilterWindow_Closed(object sender, EventArgs e) { _selectColumnWindow = null; }