You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
3.8 KiB
98 lines
3.8 KiB
using SunlightCentralizedControlManagement_SCCM_.ViewModel;
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Shapes;
|
|
using System.Xml.Linq;
|
|
using static SunlightCentralizedControlManagement_SCCM_.UserClass.SqliteHelper;
|
|
|
|
namespace SunlightCentralizedControlManagement_SCCM_.WindowsView
|
|
{
|
|
/// <summary>
|
|
/// MachineSelection.xaml 的交互逻辑
|
|
/// </summary>
|
|
public partial class MachineSelection : Window
|
|
{
|
|
public string data { get; set; }
|
|
//声明一个更新Address的委托
|
|
public delegate void AddressUpdateHandler(object sender, AddressUpdateEventArgs e);
|
|
//声明一个更新Address的事件
|
|
public event AddressUpdateHandler AddressUpdated;
|
|
private string MACHINEDATA;
|
|
DataTable machine_table;
|
|
private List<string> machine;
|
|
|
|
CheckBox[] checkBoxes = new CheckBox[999];
|
|
public MachineSelection()
|
|
{
|
|
InitializeComponent();
|
|
|
|
comboBoxMachine.ItemsSource = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from MachinesGroups order by Name desc", null).Tables[0].
|
|
AsEnumerable().Select(rowdata => rowdata.Field<string>("Name")).ToList();//转换代码
|
|
machine_table = MainWindowViewModel.SQLiteHelpers.ExecuteDataSet("select * from Machines order by Name desc", null).Tables[0];
|
|
|
|
machine = machine_table.AsEnumerable().Select(rowdata => rowdata.Field<string>("Name")).ToList();//转换代码
|
|
|
|
for (int i = 0; i < machine.Count; i++)
|
|
{
|
|
checkBoxes[i] = new CheckBox();
|
|
checkBoxes[i].Content = machine[i].ToString();
|
|
checkBoxes[i].FontSize = 20;
|
|
checkBoxes[i].Width = 80;
|
|
checkBoxes[i].Height = 50;
|
|
checkBoxes[i].IsEnabled = false;
|
|
MachineView.Children.Add(checkBoxes[i]);
|
|
}
|
|
}
|
|
|
|
private void comboBoxMachine_DropDownClosed(object sender, EventArgs e)//选择设备组
|
|
{
|
|
MachineView.Children.Clear();
|
|
machine = machine_table.Select("Groups='"+ comboBoxMachine.Text+"'").
|
|
AsEnumerable().Select(rowdata => rowdata.Field<string>("Name")).ToList();//转换代码
|
|
for (int i = 0; i < machine.Count; i++)
|
|
{
|
|
checkBoxes[i] = new CheckBox();
|
|
checkBoxes[i].Content = machine[i].ToString();
|
|
checkBoxes[i].FontSize = 20;
|
|
checkBoxes[i].Width = 80;
|
|
checkBoxes[i].Height = 50;
|
|
MachineView.Children.Add(checkBoxes[i]);
|
|
}
|
|
}
|
|
|
|
private void Button_Click(object sender, RoutedEventArgs e)//确认按钮
|
|
{
|
|
for (int i = 0; i < machine.Count; i++)
|
|
{
|
|
if((bool)checkBoxes[i].IsChecked) MACHINEDATA= MACHINEDATA+"+"+ checkBoxes[i].Content;
|
|
}
|
|
if(!String.IsNullOrEmpty(MACHINEDATA)) AddressUpdated(this, new AddressUpdateEventArgs(MACHINEDATA.Remove(0, 1)));
|
|
this.Close(); //关闭窗口
|
|
}
|
|
private void Button_Quit(object sender, RoutedEventArgs e)//退出
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
public class AddressUpdateEventArgs : System.EventArgs
|
|
{
|
|
public AddressUpdateEventArgs(string dGroups)
|
|
{
|
|
this.Groups = dGroups;
|
|
}
|
|
public string Groups { get; set; }
|
|
}
|
|
}
|
|
}
|
|
|