/// <summary> /// 增加条件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Button_Add_Click(object sender, EventArgs e) { TableData Source = cBoxKeyColumn.Tag as TableData; BooleanOperation Operation = (rButton_And.Checked ? BooleanOperation.And : BooleanOperation.Or); ReportParameter Parameter = comboBox_Parameters.SelectedItem as ReportParameter; FilterCondition filter = new FilterCondition(); filter.Operation = Operation; filter.IsFormula = rButton_Formula.Checked; if (rButton_Normal.Checked) { filter.LeftItem.TableName = Source.GetTableName(); filter.LeftItem.FieldName = (cBoxKeyColumn.SelectedItem as FieldInfo).FieldName; filter.CompareOperation = cBoxOperation.SelectedItem as CompareOperation; if (cBoxValueStyle.SelectedIndex == 0) { filter.RightItem.Style = FilterStyle.DataColumn; filter.RightItem.TableName = (cBoxValueDataset.SelectedItem as TableData).GetTableName(); filter.RightItem.FieldName = (cBoxValueColumn.SelectedItem as FieldInfo).FieldName; } else if (cBoxValueStyle.SelectedIndex == 1) { filter.RightItem.Style = FilterStyle.Value; filter.RightItem.IsNull = cBoxIsNULL.Checked; filter.RightItem.Value = tBoxValue.Text; } else if (cBoxValueStyle.SelectedIndex == 2) { filter.RightItem.Style = FilterStyle.Parameter; filter.RightItem.ParameterName = comboBox_Parameters.SelectedItem.ToString(); } } else if (rButton_Formula.Checked) { filter.Formula = tBoxFormula.Text; } String Text = filter.ToString(); Text = Text.Replace(filter.Operation.ToString(), ""); TreeNode[] Nodes = tViewFilters.Nodes.Find(filter.ToString(), false); if (Nodes.Length == 0) { TreeNode Node = new TreeNode(); Node.Name = filter.ToString(); Node.Text = tViewFilters.Nodes.Count == 0 ? Text : filter.ToString(); Node.Tag = filter; tViewFilters.Nodes.Add(Node); tViewFilters.SelectedNode = Node; } else { MessageBox.Show("条件已经存在。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
/// <summary> /// 上移条件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Button_Up_Click(object sender, EventArgs e) { TreeNode Node = tViewFilters.SelectedNode; if (Node.PrevNode != null) { tViewFilters.BeginUpdate(); TreeNode tmpNode = Node.Clone() as TreeNode; tViewFilters.Nodes.Insert(Node.PrevNode.Index, tmpNode); Node.Remove(); tViewFilters.SelectedNode = tmpNode; FilterCondition filter = tmpNode.NextNode.Tag as FilterCondition; tmpNode.NextNode.Text = filter.Operation + " " + filter.ToString(); if (tmpNode.Index == 0) { filter = tmpNode.Tag as FilterCondition; tmpNode.Text = filter.ToString(); } else { filter = tmpNode.Tag as FilterCondition; tmpNode.Text = filter.Operation + " " + filter.ToString(); } tViewFilters.EndUpdate(); } }
void Button_Add_Click(object sender, EventArgs e) { TreeView FilterView = filterControl.tViewFilters; FilterCondition filter = new FilterCondition(); filter.Operation = (filterControl.rButton_And.Checked? BooleanOperation.And : BooleanOperation.Or); filter.LeftItem.FieldName = filterControl.cBoxValueColumn.SelectedItem.ToString(); filter.CompareOperation = filterControl.cBoxOperation.SelectedItem as CompareOperation; if (filterControl.cBoxValueStyle.SelectedIndex == 0) { filter.RightItem.Style = FilterStyle.Value; filter.RightItem.Value = filterControl.cBoxValueDataset.SelectedItem.ToString(); } else if (filterControl.cBoxValueStyle.SelectedIndex == 1) { filter.RightItem.Style = FilterStyle.Parameter; filter.RightItem.ParameterName = filterControl.cBox_Parameters.SelectedItem.ToString(); } Source.DataFilter.FilterConditions.Add(filter); String Text = filter.ToString(); Text = Text.Replace(filter.Operation.ToString(), ""); TreeNode[] Nodes = FilterView.Nodes.Find(filter.ToString(), false); if (Nodes.Length == 0) { TreeNode Node = new TreeNode(); Node.Name = filter.ToString(); Node.Text = FilterView.Nodes.Count == 0 ? Text : filter.ToString(); Node.Tag = filter; FilterView.Nodes.Add(Node); FilterView.SelectedNode = Node; } else { MessageBox.Show("条件已经存在。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public void SaveFilterCondition(int moduleId, FilterCondition filterCondition) { ModuleController.Instance.UpdateModuleSetting(moduleId, FilterConditionSetting, filterCondition.ToString()); }
/// <summary> /// Returns the string representation of filtering a property. /// </summary> /// <param name="propertyName">Name of the property.</param> /// <param name="filterCondition">The filter condition.</param> /// <returns></returns> public static string GetFilterCondition(string propertyName, FilterCondition filterCondition) { return($"{propertyName}__{filterCondition.ToString().ToUpperInvariant()}"); }