123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 |
- using DevExpress.XtraDiagram.Bars;
- using NPOI.Util;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace OTSIncAReportApp._1_UI.OTSReportExport
- {
- /// <summary>
- /// 规则分组选择器
- /// </summary>
- public partial class RuleGroupSelector: Form
- {
- private ContextMenuStrip contextMenuStrip1;
- public DataTable dt;
- public List<DataTable> List_RuleTable;
- //private DataTable RuleData = new DataTable();
- int listIndex = -1;
- public RuleGroupSelector(DataTable a_dataTable, List<DataTable> a_List_RuleTable)
- {
- InitializeComponent();
- dt = a_dataTable.Copy();
- List_RuleTable = a_List_RuleTable.Copy();
- }
- private void RuleGroupSelector_Load(object sender, EventArgs e)
- {
- checkedListBox1.Items.Clear();
- checkedListBox1.MouseDown += checkedListBox1_MouseDown;
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- checkedListBox1.Items.Add(dt.Rows[i]["GroupName"]);
- }
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- if (dt.Rows[i]["display"].ToString() == "0")
- {
- checkedListBox1.SetItemChecked(i, false);
- }
- else
- {
- checkedListBox1.SetItemChecked(i, true);
- }
- }
- }
- private void checkedListBox1_MouseDown(object sender, MouseEventArgs e)
- {
- if (e.Button == MouseButtons.Left)
- {
- for (int i = 0; i < checkedListBox2.Items.Count; i++)
- {
- if (checkedListBox2.GetItemChecked(i))
- {
- List_RuleTable[listIndex].Rows[i]["display"] = "1";
- }
- else
- {
- List_RuleTable[listIndex].Rows[i]["display"] = "0";
- }
- }
- // 获取点击位置的项索引
- int index = checkedListBox1.IndexFromPoint(e.Location);
-
- if (index == -1)
- { return; }
- listIndex = index;
- for (int i = 0; i < List_RuleTable.Count; i++)
- {
- if (dt.Rows[i]["GroupId"].ToString() == List_RuleTable[listIndex].TableName.ToString())
- {
- checkedListBox2.Items.Clear();
- for (int a = 0; a < List_RuleTable[listIndex].Rows.Count; a++)
- {
- checkedListBox2.Items.Add(List_RuleTable[listIndex].Rows[a]["StrName"]);
- }
- for (int a = 0; a < List_RuleTable[listIndex].Rows.Count; a++)
- {
- if (List_RuleTable[listIndex].Rows[a]["display"].ToString() == "0")
- {
- checkedListBox2.SetItemChecked(a, false);
- }
- else
- {
- checkedListBox2.SetItemChecked(a, true);
- }
- }
- }
- }
- }
- }
- private void button2_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- for (int i = 0; i < checkedListBox2.Items.Count; i++)
- {
- if (checkedListBox2.GetItemChecked(i))
- {
- List_RuleTable[listIndex].Rows[i]["display"] = "1";
- }
- else
- {
- List_RuleTable[listIndex].Rows[i]["display"] = "0";
- }
- }
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- if (!checkedListBox1.GetItemChecked(i))
- {
- dt.Rows[i]["display"] = "0";
- }
- else
- {
- dt.Rows[i]["display"] = "1";
- }
- }
- this.Close();
- }
- private void checkBox1_CheckedChanged(object sender, EventArgs e)
- {
- //CheckBox checkBox = sender as CheckBox;
- //// 根据CheckBox的状态设置CheckedListBox的所有项
- //for (int i = 0; i < checkedListBox1.Items.Count; i++)
- //{
- // checkedListBox1.SetItemChecked(i, checkBox.Checked);
- //}
- if (checkBox1.Checked)
- {
- for (int i = 0; i < List_RuleTable.Count; i++)
- {
- for (int a = 0; a < List_RuleTable[i].Rows.Count; a++)
- {
- List_RuleTable[i].Rows[a]["display"] = "1";
- }
- }
- for (int i = 0; i < checkedListBox1.Items.Count; i++)
- {
- checkedListBox1.SetItemChecked(i, true);
- }
- for (int i = 0; i < checkedListBox2.Items.Count; i++)
- {
- checkedListBox2.SetItemChecked(i, true);
- }
- }
- else
- {
- for (int i = 0; i < List_RuleTable.Count; i++)
- {
- for (int a = 0; a < List_RuleTable[i].Rows.Count; a++)
- {
- List_RuleTable[i].Rows[a]["display"] = "0";
- }
- }
- for (int i = 0; i < checkedListBox1.Items.Count; i++)
- {
- checkedListBox1.SetItemChecked(i, false);
- }
- for (int i = 0; i < checkedListBox2.Items.Count; i++)
- {
- checkedListBox2.SetItemChecked(i, false);
- }
- }
-
- }
- private void checkedListBox1_MouseClick(object sender, MouseEventArgs e)
- {
- }
- private void checkedListBox2_MouseDown(object sender, MouseEventArgs e)
- {
- if (e.Button == MouseButtons.Left)
- {
- // 获取点击位置的项索引
- int index = checkedListBox2.IndexFromPoint(e.Location);
- if (index == -1)
- return;
- //for (int i = 0; i < List_RuleTable[listIndex].Rows.Count; i++)
- //{
- if (checkedListBox2.GetItemChecked(index))
- {
- List_RuleTable[listIndex].Rows[index]["display"] = "0";
- }
- else
- {
- List_RuleTable[listIndex].Rows[index]["display"] = "1";
- }
- //}
- }
- }
- private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
- {
- // 获取当前操作的条目索引
- int index = e.Index;
- if(index==-1)
- return;
- if (listIndex == -1)
- return;
- if (!checkedListBox1.GetItemChecked(index))
- {
- for (int i = 0; i < List_RuleTable[listIndex].Rows.Count; i++)
- {
- checkedListBox2.Items.Clear();
- for (int a = 0; a < List_RuleTable[listIndex].Rows.Count; a++)
- {
- checkedListBox2.Items.Add(List_RuleTable[listIndex].Rows[a]["StrName"]);
- }
- for (int a = 0; a < List_RuleTable[listIndex].Rows.Count; a++)
- {
- List_RuleTable[listIndex].Rows[a]["display"] = "1";
- checkedListBox2.SetItemChecked(a, true);
- }
- }
- }
- else
- {
- for (int i = 0; i < List_RuleTable[listIndex].Rows.Count; i++)
- {
- checkedListBox2.Items.Clear();
- for (int a = 0; a < List_RuleTable[listIndex].Rows.Count; a++)
- {
- checkedListBox2.Items.Add(List_RuleTable[listIndex].Rows[a]["StrName"]);
- }
- for (int a = 0; a < List_RuleTable[listIndex].Rows.Count; a++)
- {
- List_RuleTable[listIndex].Rows[a]["display"] = "0";
- checkedListBox2.SetItemChecked(a, false);
- }
- }
- }
-
- }
- }
- }
|