using SunlightCentralizedControlManagement_SCCM_.WindowsView; using System; using System.Collections.Generic; using System.Data; using System.Windows; using System.Windows.Controls; using static SunlightCentralizedControlManagement_SCCM_.UserClass.SqliteHelper; namespace SunlightCentralizedControlManagement_SCCM_.View { /// /// ProgramgroupView.xaml 的交互逻辑 /// public partial class ProgramgroupView : UserControl { public ProgramgroupView() { InitializeComponent(); Programgroup_sql(); string[] group_data = { "en-US", "zh-CN", "zh-TW" }; Group.ItemsSource = group_data; } private SQLiteHelper SQLiteHelpers = null; //定义数据库 private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径 DataSet sql; //内存数据缓存 public void Programgroup_sql() { SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelpers.Open(); //打开数据库 string sql_script = "select * from ProgramName order by ProgramID desc"; if (sql != null) sql.Clear(); //清空缓存 sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取计划表写入缓存 if (sql != null) Grid.ItemsSource = sql.Tables[0].DefaultView; //转换显示计划表 SQLiteHelpers.Close(); //关闭连接 } public static string Programgroup_Numder { get; set; } public static string Programgroup_ID { get; set; } private void Grid_PreviewMouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)//表格选择事件 { int rownum = Grid.SelectedIndex;//获取鼠标选中行并定义变量 if (rownum != -1)//判断鼠标定位是否有效 { Programgroup_ID = (Grid.Columns[0].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第0列, Programgroup_Numder = (Grid.Columns[1].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第1列, } edit.IsEnabled = true; Rename.IsEnabled = true; Remark.IsEnabled = true; Delete.IsEnabled = true; } private void Grid_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)//双击表格编辑事件 { int rownum = Grid.SelectedIndex;//获取鼠标选中行并定义变量 if (rownum != -1)//判断鼠标定位是否有效 { Programgroup_ID = (Grid.Columns[0].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第0列, Programgroup_Numder = (Grid.Columns[1].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第1列, container.Content = new ProgramstepsView();//打开步设置 } } private void ListViewItem_New(object sender, System.Windows.Input.MouseButtonEventArgs e) { InputBox frm = new InputBox(); frm.Accept += new EventHandler(InputBox_new_accept); frm.ShowDialog(); } void InputBox_new_accept(object sender, EventArgs e)//新建按钮窗口返回 { //事件的接收者通过一个简单的类型转换得到InputBox的引用 InputBox frm = (InputBox)sender; //接收到InputBox的TextBox值 string VALUE = frm.InputValue; string ID = DateTime.Now.ToString("yyMMddHHmmss"); //id为时间合 Dictionary Program_new = new Dictionary();//缓存函数 Program_new.Add("ProgramName", VALUE); Program_new.Add("ProgramID", ID); Program_new.Add("Groups", Group.Text); Program_new.Add("Step", "0"); Program_new.Add("Time", "0:00"); Program_new.Add("Notes", null); SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelpers.Open(); //打开数据库 SQLiteHelpers.InsertData("ProgramName", Program_new);// 执行插入 SQLiteHelpers.Close(); //关闭连接 Programgroup_Numder = VALUE; Programgroup_ID = ID; Programgroup_sql(); } private void ListViewItem_edit(object sender, System.Windows.Input.MouseButtonEventArgs e)//编辑事件 { edit.IsEnabled = false; Rename.IsEnabled = false; Remark.IsEnabled = false; Delete.IsEnabled = false; if (Programgroup_ID == null) return; container.Content = new ProgramstepsView(); } private void ListViewItem_Rename(object sender, System.Windows.Input.MouseButtonEventArgs e)//重命名 { edit.IsEnabled = false; Rename.IsEnabled = false; Remark.IsEnabled = false; Delete.IsEnabled = false; if (Programgroup_ID == null) return; InputBox frm = new InputBox(); frm.Accept += new EventHandler(InputBox_Rename_accept); frm.ShowDialog(); } void InputBox_Rename_accept(object sender, EventArgs e)//重命名按钮窗口返回 { //事件的接收者通过一个简单的类型转换得到InputBox的引用 InputBox frm = (InputBox)sender; //接收到InputBox的TextBox值 string VALUE = frm.InputValue; Dictionary Program_Rename = new Dictionary();//缓存函数 Program_Rename.Add("ProgramName", VALUE); SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelpers.Open(); //打开数据库 SQLiteHelpers.Update("ProgramName", Program_Rename, "ProgramID='" + Programgroup_ID + "'", null); SQLiteHelpers.Close(); //关闭连接 Programgroup_sql(); Programgroup_Numder = null; Programgroup_ID = null; } private void ListViewItem_Remark(object sender, System.Windows.Input.MouseButtonEventArgs e)//备注 { edit.IsEnabled = false; Rename.IsEnabled = false; Remark.IsEnabled = false; Delete.IsEnabled = false; if (Programgroup_ID == null) return; InputBox frm = new InputBox(); frm.Accept += new EventHandler(InputBox_Remark_accept); frm.ShowDialog(); } void InputBox_Remark_accept(object sender, EventArgs e)//备注按钮窗口返回 { //事件的接收者通过一个简单的类型转换得到InputBox的引用 InputBox frm = (InputBox)sender; //接收到InputBox的TextBox值 string VALUE = frm.InputValue; Dictionary Program_Remark = new Dictionary();//缓存函数 Program_Remark.Add("Notes", VALUE); SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelpers.Open(); //打开数据库 SQLiteHelpers.Update("ProgramName", Program_Remark, "ProgramID='" + Programgroup_ID + "'", null); SQLiteHelpers.Close(); //关闭连接 Programgroup_sql(); Programgroup_Numder = null; Programgroup_ID = null; } private void ListViewItem_Delete(object sender, System.Windows.Input.MouseButtonEventArgs e)//删除 { edit.IsEnabled = false; Rename.IsEnabled = false; Remark.IsEnabled = false; Delete.IsEnabled = false; if (Programgroup_Numder == null) return; ///弹窗提示确认删除 if (System.Windows.Forms.MessageBox.Show(Properties.Resources.Confirm + Properties.Resources.Delete + Programgroup_Numder, "Delete ", System.Windows.Forms.MessageBoxButtons.OKCancel, System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) { ///执行删除 SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelpers.Open(); //打开数据库 SQLiteHelpers.Delete("ProgramName", "ProgramID='" + Programgroup_ID + "'", null); SQLiteHelpers.Close(); Programgroup_sql(); } Programgroup_Numder = null; Programgroup_ID = null; } } }