using DevExpress.XtraEditors; using ExtensionsDev; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Documents; using System.Windows.Forms; using DW5S.Entity; using DW5S.Repostory; using Serilog; using DW5S.Service; namespace DW5S.App.EditForms { public partial class EditorTar : DevExpress.XtraEditors.XtraForm { public TargetInfo info; List infos; public EditorTar(TargetInfo info) { InitializeComponent(); this.layoutControl1.UseDefault(); this.Text = "编辑目标"; this.info = info; this.StartPosition = FormStartPosition.CenterParent; } private async void SatEditor_Load(object sender, EventArgs e) { infos = new List(); var unitOfWork = IocContainer.UnitOfWork; var repsTar = unitOfWork.Of(); var res = await repsTar.GetAllAsync(p => p.TargetName); infos.AddRange(res); this.searchLookUpEdit1.UseDefault().SetData(infos, nameof(TargetInfo.TargetName)).UseDoubleClickToSelectAll(); this.searchLookUpEdit1.Properties.View.RowCellStyle += View_RowCellStyle; if (info != null) { this.searchLookUpEdit1.Text = info.TargetName; } } private void View_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e) { if (e.CellValue == null) return; if (e.Column.FieldName == nameof(TargetInfo.TargeColor)) { var clolrRes = ColorTranslator.FromHtml(e.CellValue.ToString()); e.Appearance.BackColor = clolrRes; } } private void btnCancel_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.Cancel; } private void btnOk_Click(object sender, EventArgs e) { try { info = new TargetInfo(); var tar = searchLookUpEdit1.EditValue as TargetInfo; if (tar != null) { info.Id = tar.Id; info.TargetName = tar.TargetName; info.TargeColor = tar.TargeColor; } else { info.Id = 0; info.TargetName = "未知目标"; info.TargeColor = ""; } this.DialogResult = DialogResult.OK; } catch (Exception ex) { string msg = "编辑目标出错"; IocContainer.Logger.Error(ex, msg); DxHelper.MsgBoxHelper.ShowError(msg); } } } }