private void btnOr_Click(object sender, EventArgs e) { if (tViewField.SelectedNode.Parent == null) { return; } if (tViewFilter.Nodes.Count < 1) { btnOr.Enabled = false; return; } FilterField ff = new FilterField(); ff.Table = tViewField.SelectedNode.Parent.Text; ff.Field = tViewField.SelectedNode.Text; ff.Logic = "="; CurrentSubFilterList = tViewFilter.Nodes.Count - 1; SubFilterFieldList sffList = (SubFilterFieldList)_ffList[CurrentSubFilterList]; sffList.Add(ff); tViewFilter.Nodes[CurrentSubFilterList].Nodes.Add(ff.Table + "." + ff.Field + " " + ff.Logic + " " + ff.LogicValue); tViewFilter.ExpandAll(); // tViewFilter.Nodes[CurrentSubFilterList].Nodes[CurrentFilterField].Checked = true; }
private void DeleteFilter_Click(object sender, EventArgs e) { if (CurrentSubFilterList < 0 || CurrentSubFilterList >= tViewFilter.Nodes.Count) { return; } if (MessageBox.Show("Are you sure delete this filter?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { if (tViewFilter.SelectedNode.Parent != null) { SubFilterFieldList sffl = (SubFilterFieldList)_ffList[CurrentSubFilterList]; FilterField ff = (FilterField)sffl[CurrentFilterField]; sffl.Remove(ff); if (tViewFilter.SelectedNode.Parent.Nodes.Count < 2) { _ffList.Remove(sffl); } } else { SubFilterFieldList sffl = (SubFilterFieldList)_ffList[CurrentSubFilterList]; _ffList.Remove(sffl); } LoadFilterField(); } }
private void tViewFilter_AfterSelect(object sender, TreeViewEventArgs e) { if (tViewFilter.SelectedNode.Parent == null) { CurrentSubFilterList = tViewFilter.SelectedNode.Index; cbBoxLogic.Enabled = false; cbBoxLogic.Text = ""; tBoxLogicValue.Text = ""; tBoxLogicValue.Enabled = false; btnApplyFilter.Enabled = false; } else { CurrentSubFilterList = tViewFilter.SelectedNode.Parent.Index; CurrentFilterField = tViewFilter.SelectedNode.Index; SubFilterFieldList sffl = (SubFilterFieldList)_ffList[CurrentSubFilterList]; FilterField ff = (FilterField)sffl[CurrentFilterField]; cbBoxLogic.Text = ff.Logic; tBoxLogicValue.Text = ff.LogicValue; cbBoxLogic.Enabled = true; tBoxLogicValue.Enabled = true; btnApplyFilter.Enabled = true; } cMenuStripFilter.Enabled = true; BtnDel.Enabled = true; btnAnd.Enabled = false; btnOr.Enabled = false; }
private void LoadFilterField() { tViewFilter.Nodes.Clear(); btnAnd.Enabled = false; btnOr.Enabled = false; BtnDel.Enabled = false; btnApplyFilter.Enabled = false; cbBoxLogic.Enabled = false; tBoxLogicValue.Enabled = false; cMenuStripFilter.Enabled = false; if (_ffList == null) { return; } if (_ffList.Count < 1) { return; } for (int i = 0; i < _ffList.Count; i++) { tViewFilter.Nodes.Add((i + 1).ToString() + "(AND)"); SubFilterFieldList sffl = (SubFilterFieldList)_ffList[i]; for (int j = 0; j < sffl.Count; j++) { FilterField FF = (FilterField)sffl[j]; if (j < (sffl.Count - 1)) { tViewFilter.Nodes[i].Nodes.Add(FF.Table + "." + FF.Field + " " + FF.Logic + " " + FF.LogicValue + " OR"); } else { tViewFilter.Nodes[i].Nodes.Add(FF.Table + "." + FF.Field + " " + FF.Logic + " " + FF.LogicValue); } } } CurrentSubFilterList = -1; CurrentFilterField = -1; tViewFilter.ExpandAll(); }
private void btnAnd_Click(object sender, EventArgs e) { if (tViewField.SelectedNode.Parent == null) { return; } FilterField ff = new FilterField(); ff.Table = tViewField.SelectedNode.Parent.Text; ff.Field = tViewField.SelectedNode.Text; SubFilterFieldList sffList = new SubFilterFieldList(); sffList.Add(ff); _ffList.Add(sffList); LoadFilterField(); }
private void ShowFilterFields() { this.lViewFilter.Items.Clear(); if (_CurrIOChannel == null) { return; } if (_CurrEventType == null) { return; } FilterFieldList ffList = _CurrEventType.FilterList; for (int i = 0; i < ffList.Count; i++) { SubFilterFieldList sffl = (SubFilterFieldList)ffList[i]; for (int j = 0; j < sffl.Count; j++) { StringBuilder sb = new StringBuilder(); sb.Append("("); FilterField ff = (FilterField)sffl[j]; sb.Append(ff.Table + "." + ff.Field + " " + ff.Logic + " " + ff.LogicValue); sb.Append(")"); if (j < sffl.Count - 1) { sb.Append(" OR "); } if (j == 0) { ListViewItem lvi = lViewFilter.Items.Add((i + 1).ToString() + " (AND) "); lvi.Tag = i.ToString(); lvi.SubItems.Add(sb.ToString()); } else { ListViewItem lvi = lViewFilter.Items.Add(""); lvi.SubItems.Add(sb.ToString()); } } } }
private void btnApplyFilter_Click(object sender, EventArgs e) { if ((CurrentSubFilterList < 0) || (CurrentFilterField < 0)) { return; } if (CurrentSubFilterList > tViewFilter.Nodes.Count) { return; } if (CurrentFilterField > tViewFilter.Nodes[CurrentSubFilterList].Nodes.Count) { return; } if (cbBoxLogic.Items.IndexOf(cbBoxLogic.Text) < 0) { MessageBox.Show("Invalid Logic Operator, Please Select Logic Operator From List!", "Error"); return; } SubFilterFieldList sffList = (SubFilterFieldList)_ffList[CurrentSubFilterList]; FilterField ff = (FilterField)sffList[CurrentFilterField]; ff.Logic = cbBoxLogic.Text; ff.LogicValue = tBoxLogicValue.Text; /* * if (CurrentFilterField == tViewField.Nodes[CurrentSubFilterList].Nodes.Count - 1) * { * tViewFilter.Nodes[CurrentSubFilterList].Nodes[CurrentFilterField].Text = ff.Table + "." + ff.Field + " " + ff.Logic + " " + ff.LogicValue ; * } * else * { * tViewFilter.Nodes[CurrentSubFilterList].Nodes[CurrentFilterField].Text = ff.Table + "." + ff.Field + " " + ff.Logic + " " + ff.LogicValue + " (OR)"; * } * */ LoadFilterField(); }