private void filterToolStripButton_Click(object sender, EventArgs e) { if (!CanContinue()) { return; } using (FilterDialog filterDialog = new FilterDialog(this.filter.Clone())) { FormExtensions.DownPositionate(filterDialog, filterToolStripButton, this); if (filterDialog.ShowDialog(this) == DialogResult.OK) { TableFilter lastGood = this.filter; this.filter = filterDialog.Filter; if (IsFiltered) { this.currentPage = 0; this.filterToolStripButton.Checked = true; } else { this.filterToolStripButton.Checked = false; } this.filterToolStripButton.ToolTipText = IsFiltered ? filter.ToString() : "Filter"; try { this.UpdateDataSet(); } catch (Exception ex) { this.filter = lastGood; MessageBox.Show(this, ex.Message, this.Text, MessageBoxButtons.OK); this.UpdateDataSet(); } } else { if (this.refreshDataNeeded) { this.UpdateDataSet(); } } } }
private void openDataWithFilterToolStripMenuItem_Click(object sender, EventArgs e) { var tableNode = (TableNode)treeView.SelectedNode; if (tableNode != null) { var table = tableNode.Table; var key = table.Database.Name + '.' + table.Name; using (FilterDialog filterDialog = new FilterDialog(new TableFilter(table))) { filterDialog.Text = "Open with filter: " + key; filterDialog.ControlBox = true; filterDialog.ShowIcon = false; filterDialog.StartPosition = FormStartPosition.CenterParent; if (filterDialog.ShowDialog(this) == DialogResult.OK) { var filter = filterDialog.Filter; var document = new TableDocument(table, filter); document.Text = key; document.Show(this.DockPanel); } } } }