using DevExpress.Utils.About; using DevExpress.Utils.Extensions; using DevExpress.XtraBars.Customization; using DevExpress.XtraEditors; using DevExpress.XtraEditors.Controls; using DevExpress.XtraEditors.DXErrorProvider; using DevExpress.XtraGrid; using DevExpress.XtraPrinting.Native; using DxHelper; using ExtensionsDev; using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Data; using System.Drawing; using System.Linq; using System.Reflection; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; using System.Windows.Documents; using System.Windows.Forms; using DW5S.DTO; using DW5S.Entity; using DW5S.Repostory; using Serilog; using Serilog.Core; using Microsoft.EntityFrameworkCore; using DW5S.Service; using DW5S.ViewModel; namespace DW5S.App.EditForms { public partial class TaskEditorSignal : DevExpress.XtraEditors.XtraForm { public TaskViewModel info; public List listSigInfo = new List(); public List listSigInfoSelected = new List(); public TaskEditorSignal() { InitializeComponent(); this.Text = "任务信号选择"; info = new TaskViewModel(); this.StartPosition = FormStartPosition.CenterParent; } public TaskEditorSignal(TaskViewModel info, List listSigInfoSelected) : this() { this.Text = $"任务[{info.TaskName}]信号选择"; this.info = info; this.listSigInfoSelected = listSigInfoSelected.Skip(0).ToList(); } private async void TaskEditorSignal_Load(object sender, EventArgs e) { try { gridTaskSignal.UseDefault(listSigInfo).UseMultiSelect().UseRowNumber().DrawGridColumnHeaderCheckBox(); var unitOfWork = IocContainer.UnitOfWork; var repsFixed= unitOfWork.Of(); var fixedStations = await repsFixed.FindAsync(p => p.Enable); var repsSig = unitOfWork.Of(); var items = await repsSig.GetAllAsync(p => p.FreqDownHz); listSigInfo.AddRange(items.To>()); foreach (var item in listSigInfoSelected) { var selectedIdx = listSigInfo.FindIndex(p => p.Id == item.Id); if (selectedIdx >= 0) this.gridViewTaskSignal.SelectRow(selectedIdx); } gridViewTaskSignal.BestFitColumns(); } catch (Exception ex) { var msg = "查询信号信息异常"; IocContainer.Logger.Error(ex, msg); DxHelper.MsgBoxHelper.ShowError(msg); } } private void btnCancle_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.Cancel; } private void btnOk_Click(object sender, EventArgs e) { var selectedRows = gridViewTaskSignal.GetSelectedRows(); listSigInfoSelected.Clear(); for (int i = 0; i < selectedRows.Count(); i++) { var res = gridViewTaskSignal.GetRow(selectedRows[i]) as SigViewModel; listSigInfoSelected.Add(res); } this.DialogResult = DialogResult.OK; } } }