using Cksoft.Unity; using DllEapEntity; using DllPubInfo; using Newtonsoft.Json; using System; using System.Collections; 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.Forms; namespace DllXqManager { public partial class StatusColor : Form { List CurrDs = null; public delegate void SelStandardStatus(StandardStatus entity); public event SelStandardStatus eventSelStandardStatus = null; public StatusColor() { InitializeComponent(); FilleditShowColor(); } private void Filldgvmain(string condition) { try { Cursor = Cursors.WaitCursor; string errorinfo = ""; CurrDs = PubInfo.SelectForCondition(condition, ref errorinfo).ToList(); if (CurrDs == null) { MessageBox.Show(errorinfo); return; } Binddgvmain(); RefreshColor(); } catch (Exception ex) { MessageBox.Show("操作发生错误,错误信息为:" + ex.Message.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Cursor = Cursors.Default; } } private BindingSource currbs = null; public void Binddgvmain() { currbs = new BindingSource(); currbs.DataSource = CurrDs; bindingNavigator1.BindingSource = currbs; dgvmain.DataSource = currbs; PubInfo.InitDataGridView(dgvmain); //dgvmain.Columns[nameof(BaseEntity.IsSelected)].Visible = false; //dgvColDetail.Rows[0].Visible = false; } private void StatusColor_Load(object sender, EventArgs e) { Filldgvmain(""); } private void ShowEntity(StandardStatus entity) { StandardStatus currentity = editFCode.Tag as StandardStatus; //if(editFCode.Tag==null) if (currentity != null && currentity.ID == entity.ID) return; editFCode.Tag = entity; string errorinfo = ""; int result = PubInfo.InitFormControl(panel1, entity, null, ref errorinfo); if (result < 0) MessageBox.Show(errorinfo); } private void FilleditShowColor() { editShowColor.Items.Clear(); //foreach(Color item in System.Drawing.Color) //{ //} foreach (var item in typeof(System.Drawing.Color).GetMembers()) { if (item.MemberType == System.Reflection.MemberTypes.Property) { //MessageBox.Show(System.Drawing.Color.FromName(item.Name).Name); editShowColor.Items.Add(System.Drawing.Color.FromName(item.Name).Name); } } } private void dgvmain_CurrentCellChanged(object sender, EventArgs e) { DataGridView dgv = sender as DataGridView; if (dgv.CurrentCell == null) return; StandardStatus entity = dgv.CurrentRow.DataBoundItem as StandardStatus; ShowEntity(entity); } private void editShowColor_SelectedIndexChanged(object sender, EventArgs e) { label3.BackColor = System.Drawing.Color.FromName(editShowColor.Text.Trim()); //label3.Text = System.Drawing.Color.FromName(item.Name).Name; } private void RefreshColor() { //foreach(var item in CurrDs) //{ // if (string.IsNullOrEmpty(item.ShowColor)) // continue; //} for(int i=0;i changes = EntityHelper.GetEntityChange(CurrDs); if (changes.Count <= 0) return 1; tempds.Add(nameof(StandardStatus), JsonConvert.SerializeObject(changes)); Hashtable reds = PubInfo.CallFunction("DllStatusShowBll.StatusShowBll", "UStandardStatus", tempds); if (reds == null) return -1; //TEntity reentity = JsonConvert.DeserializeObject(reds[nameof(TEntity)].ToString()); return 1; } catch (Exception e) { MessageBox.Show("操作发生错误,错误信息为:" + e.Message.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return -1; } } private void toolStripButton1_Click(object sender, EventArgs e) { int result = CallUStandardStatus(); if(result>0) { MessageBox.Show("操作成功。"); Filldgvmain(""); } } private void dgvmain_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (dgvmain.CurrentRow == null) return; if (eventSelStandardStatus == null) return; StandardStatus entity = dgvmain.CurrentRow.DataBoundItem as StandardStatus; eventSelStandardStatus?.Invoke(entity); this.Close(); } private void StatusColor_SizeChanged(object sender, EventArgs e) { } private void StatusColor_Shown(object sender, EventArgs e) { RefreshColor(); } } }