zoukankan      html  css  js  c++  java
  • 五、监听

    一、触发事件

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using YKERP.UserControls;
    using YKERP.Common;
    using YKERP.Business;
    using System.Collections;
    using YKERP.Utils.Extensions;
    
    namespace YKERP._CategoryMgt
    {
        public partial class UserCategoryMgt : YKBaseControl
        {
            public string Glo_Div_1 = null, Glo_Div_2 = null, Glo_Div_3 = null;
            public UserCategoryMgt()
            {
                InitializeComponent();
                Load += (s, e) =>
                {
                    InitDataCategory(); //加载部类
                };
                //部类
                BtnCategoryEdit.Enabled = false;
                gridview_product.SelectionChangedEx((rows) =>
                {
                    BtnCategoryEdit.Enabled = rows.Count == 1;
                });
                gridview_product.GetCheckedOnFocusRowChanged();
    
    
                gridview_product.FocusedRowChanged += (s, e) =>
                {
                    var hdrLargeClass = gridview_product.GetSelectedRow()?.ToSpecObject<Model>();
                    if (hdrLargeClass != null)
                        GridPageLargeClass.LoadData(GridDataLargeClass, "YKERP-ZSJ-0066", new Hashtable() { ["div_num_id"] = hdrLargeClass.div_num_id });
                    else
                        GridPageLargeClass.ClearData();
                };
    
                gridView2.FocusedRowChanged += (s, e) =>
                {
                    var hdrLargeClass = gridview_product.GetSelectedRow()?.ToSpecObject<Model>();
                    var pty1_num_id = gridView2.GetSelectedRow()?["pty1_num_id"].ToStr();
                    if (pty1_num_id.IsValid())
                        GridPageMiddleClass.LoadData(GridDataMiddleClass, "YKERP-ZSJ-0067", new Hashtable()
                        {
                            ["div_num_id"] = hdrLargeClass.div_num_id,
                            ["pty1_num_id"] = pty1_num_id,
                        });
                    else
                        GridPageMiddleClass.ClearData();
                };
    
                gridView3.FocusedRowChanged += (s, e) =>
                 {
                     var hdrLargeClass = gridview_product.GetSelectedRow()?.ToSpecObject<Model>();
                     var pty2_num_id = gridView3.GetSelectedRow()?["pty2_num_id"].ToStr();
                     if (pty2_num_id.IsValid())
                         GridPageSubclass.LoadData(GridDataSubclass, "YKERP-ZSJ-0068", new Hashtable()
                         {
                             ["div_num_id"] = hdrLargeClass.div_num_id,
                             ["pty2_num_id"] = pty2_num_id,
                         });
                     else
                         GridPageSubclass.ClearData();
                 };
    
                GridPageCategory.OnDataSourcePostBind += (dt) =>
                {
                    bool enable = dt.Rows.Count > 0;
                    btnAddLargeClass.Enabled = enable;
                    btnEditLargeClass.Enabled = enable;
                    btnDelLargeClass.Enabled = enable;
    
                    btnAddMiddleClass.Enabled = enable;
                    btnEditMiddleClass.Enabled = enable;
                    btnDelMiddleClass.Enabled = enable;
    
                    btnAddSubclass.Enabled = enable;
                    btnEditSubclass.Enabled = enable;
                    btnDelSubclass.Enabled = enable;
                };
            }
    
    
            public void LargerData()
            {
                var row = gridview_product?.GetFocusedDataRow();
                GridPageLargeClass.LoadData(GridDataLargeClass, "YKERP-ZSJ-0066", new Hashtable() { ["div_num_id"] = row["div_num_id"].ToString() });
            }
    
            public void MiddleData()
            {
                var row = gridview_product?.GetFocusedDataRow();
                var rows = gridView2?.GetFocusedDataRow();
                GridPageMiddleClass.LoadData(GridDataMiddleClass, "YKERP-ZSJ-0067", new Hashtable()
                {
                    ["div_num_id"] = row["div_num_id"],
                    ["pty1_num_id"] = rows["pty1_num_id"],
                });
    
            }
    
            public void SubData()
            {
                var row = gridView2?.GetFocusedDataRow();
                var rows = gridView3?.GetFocusedDataRow();
                GridPageMiddleClass.LoadData(GridDataSubclass, "YKERP-ZSJ-0068", new Hashtable()
                {
                    ["div_num_id"] = row["div_num_id"],
                    ["pty2_num_id"] = rows["pty2_num_id"],
                });
    
            }
    
    
            /// <summary>
            /// 部类数据
            /// </summary>
            private void InitDataCategory()
            {
                GridPageCategory.ClearQueryField();
                GridPageCategory.IN_SQLID = "YKERP-ZSJ-0065";
                GridPageCategory.IN_GRID_CONTROL = GridDataCategory;
                GridPageCategory.InitPages();
            }
    
    
            void LoadDivData()
            {
                GridPageCategory.LoadData(GridDataCategory, "YKERP-ZSJ-0065", new Hashtable());
            }
    
            private void BtnAddCategory_Click(object sender, EventArgs e)
            {
                AddOrEditCategory AddOrEdit = new AddOrEditCategory(null) { FlushOri = LoadDivData };
                AddOrEdit.StartPosition = FormStartPosition.CenterScreen;
                //AddOrEdit.myRefresh += InitDataCategory;
                AddOrEdit.Text = "新增";
                AddOrEdit.ShowDialog();
            }
    
            private void BtnCategoryEdit_Click(object sender, EventArgs e)
            {
                int[] rows = gridview_product.GetSelectedRows(); //获取GridView 选中的数据行信息
    
                if (rows.Length == 0)
                {
                    MessageHelper.InfoMsg("请勾选一行记录。");
                    return;
                }
                else
                if (rows.Length == 1)
                {
    
                }
                else
                {
                    MessageHelper.InfoMsg("请选择一行记录进行编辑。");
                    return;
                }
            }
    
            private void btnDelCategory_Click(object sender, EventArgs e)
            {
                //var selectedItems = gridview_ChildNode.GetSelectedRows().ToList().Select(i => gridview_ChildNode.GetRow(i).ToSpecObject<IntelligentAllotChildNode>()).ToList();
                //gridview_ChildNode.DeleteSelectedRows();
    
                int[] rows = gridview_product.GetSelectedRows(); //获取GridView 选中的数据行信息
    
                if (rows.Length == 0)
                {
                    MessageHelper.InfoMsg("请勾选一行记录。");
                    return;
                }
                else
                {
                    List<int> selectRows;
                    List<string> custcode = new List<string>();
                    selectRows = this.gridview_product.GetSelectedRows().ToList();
                    foreach (int i in selectRows)
                    {
                        custcode.Add(Convert.ToString(this.gridview_product.GetDataRow(i)["series"].ToString()));
                        /*   if (this.gridview_Parent.GetDataRow(i)["group_num_id"].ToInt() == GlobalNode.ToInt())
                        {
                            ChildNodeData.DataSource = null;
                            this.GlobalNode = null;
                        }*/
                    }
                    //string depaid = string.Join(",", custcode);
    
                    System.String[] str = custcode.ToArray();
                    bool res = UnitOfWork<DAL>.Resolve.DelCategory(str, out string errors);
                    if (errors != null)
                    {
                        MessageHelper.InfoMsg(errors);
                    }
                    else
                    {
                        MessageHelper.InfoMsg("删除成功");
                        InitDataCategory();
                    }
                }
            }
    
            /// <summary>
            /// 大类新增
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btnAddLargeClass_Click(object sender, EventArgs e)
            {
                Dictionary<string, string> data = new Dictionary<string, string>();
    
                var row = gridview_product?.GetFocusedDataRow();
                data.Add("div_num_id", row["div_num_id"].ToString());
                data.Add("series", null);
                AddOrEditLargeClass AddOrEdit = new AddOrEditLargeClass(data)
                {
                    FreshData = () =>
                    {
                        LargerData();
                    }
                };
                AddOrEdit.StartPosition = FormStartPosition.CenterScreen;
                //AddOrEdit.myRefresh += InitDataLargeClass;    
                AddOrEdit.Text = "新增";
                AddOrEdit.ShowDialog();
            }
    
            private void btnAddMiddleClass_Click(object sender, EventArgs e)
            {
                Dictionary<string, string> data = new Dictionary<string, string>();
                var row = gridview_product?.GetFocusedDataRow();
                data.Add("div_num_id", row["div_num_id"].ToString());
                var rows = gridView2?.GetFocusedDataRow();
                data.Add("pty1_num_id", rows["pty1_num_id"].ToString());
    
                data.Add("series", null);
                AddOrEditMiddleClass AddOrEdit = new AddOrEditMiddleClass(data)
                {
                    FreshData = () =>
                    {
                        MiddleData();
                    }
                };
                AddOrEdit.StartPosition = FormStartPosition.CenterScreen;
                //AddOrEdit.myRefresh += InitDataLargeClass;    
                AddOrEdit.Text = "新增";
                AddOrEdit.ShowDialog();
    
    
            }
    
            private void btnDelMiddleClass_Click(object sender, EventArgs e)
            {
                int[] rows = gridView3.GetSelectedRows(); //获取GridView 选中的数据行信息
    
                if (rows.Length == 0)
                {
                    MessageHelper.InfoMsg("请勾选一行记录。");
                    return;
                }
                else
                {
                    List<int> selectRows;
                    List<string> custcode = new List<string>();
                    selectRows = this.gridView3.GetSelectedRows().ToList();
                    foreach (int i in selectRows)
                    {
                        custcode.Add(Convert.ToString(this.gridView3.GetDataRow(i)["series"].ToString()));
                        /*   if (this.gridview_Parent.GetDataRow(i)["group_num_id"].ToInt() == GlobalNode.ToInt())
                        {
                            ChildNodeData.DataSource = null;
                            this.GlobalNode = null;
                        }*/
                    }
                    //string depaid = string.Join(",", custcode);
    
                    System.String[] str = custcode.ToArray();
                    bool res = UnitOfWork<DAL>.Resolve.DelMiddleClass(str, out string errors);
                    if (errors != null)
                    {
                        MessageHelper.InfoMsg(errors);
                    }
                    else
                    {
                        MessageHelper.InfoMsg("删除成功");
                        MiddleData();
                    }
                }
            }
    
            private void btnAddSubclass_Click(object sender, EventArgs e)
            {
                Dictionary<string, string> data = new Dictionary<string, string>();
                var row = gridview_product?.GetFocusedDataRow();
                data.Add("div_num_id", row["div_num_id"].ToString());
                var rows = gridView3?.GetFocusedDataRow();
                data.Add("pty2_num_id", rows["pty2_num_id"].ToString());
    
                data.Add("series", null);
                AddOrEditSubclass AddOrEdit = new AddOrEditSubclass(data)
                {
                    FreshData = () =>
                    {
                        SubData();
                    }
                };
                AddOrEdit.StartPosition = FormStartPosition.CenterScreen;
                //AddOrEdit.myRefresh += InitDataLargeClass;    
                AddOrEdit.Text = "新增";
                AddOrEdit.ShowDialog();
            }
    
            private void btnEditMiddleClass_Click(object sender, EventArgs e)
            {
                int[] rows = gridView3.GetSelectedRows(); //获取GridView 选中的数据行信息
    
                if (rows.Length == 0)
                {
                    MessageHelper.InfoMsg("请勾选一行记录。");
                    return;
                }
                else
                if (rows.Length == 1)
                {
                    int selectRow = gridView3.GetSelectedRows()[0];
                    // MessageBox.Show(gridview_Parent.GetFocusedDataRow()["series"].ToString());
                    //this.gridview_Parent.GetRowCellValue(selectRow, "series").ToString()
    
                    Dictionary<string, string> data = new Dictionary<string, string>();
    
                    data.Add("series", this.gridView3.GetRowCellValue(selectRow, "series").ToString());
                    data.Add("div_num_id", this.gridView3.GetRowCellValue(selectRow, "div_num_id").ToString());
                    data.Add("pty1_num_id", this.gridView3.GetRowCellValue(selectRow, "pty1_num_id").ToString());
                    data.Add("pty2_num_id", this.gridView3.GetRowCellValue(selectRow, "pty2_num_id").ToString());
                    data.Add("pty2_sim_no", this.gridView3.GetRowCellValue(selectRow, "pty2_sim_no").ToString());
                    data.Add("pty2_name", this.gridView3.GetRowCellValue(selectRow, "pty2_name").ToString());
                    data.Add("en_pty2_name", this.gridView3.GetRowCellValue(selectRow, "en_pty2_name").ToString());
    
                    AddOrEditMiddleClass AddOrEdit = new AddOrEditMiddleClass(data)
                    {
                        FreshData = () =>
                        {
                            MiddleData();
                        }
                    };
                    AddOrEdit.StartPosition = FormStartPosition.CenterScreen;
                    //AddOrEdit.myRefresh += InitDataLargeClass;
                    AddOrEdit.Text = "编辑";
                    AddOrEdit.ShowDialog();
                }
                else
                {
                    MessageHelper.InfoMsg("请选择一行记录进行编辑。");
                    return;
                }
            }
    
            private void btnEditSubclass_Click(object sender, EventArgs e)
            {
                int[] rows = gridView4.GetSelectedRows(); //获取GridView 选中的数据行信息
    
                if (rows.Length == 0)
                {
                    MessageHelper.InfoMsg("请勾选一行记录。");
                    return;
                }
                else
                if (rows.Length == 1)
                {
                    int selectRow = gridView4.GetSelectedRows()[0];
                    // MessageBox.Show(gridview_Parent.GetFocusedDataRow()["series"].ToString());
                    //this.gridview_Parent.GetRowCellValue(selectRow, "series").ToString()
    
                    Dictionary<string, string> data = new Dictionary<string, string>();
    
                    data.Add("series", this.gridView4.GetRowCellValue(selectRow, "series").ToString());
                    data.Add("div_num_id", this.gridView4.GetRowCellValue(selectRow, "div_num_id").ToString());
                    data.Add("pty2_num_id", this.gridView4.GetRowCellValue(selectRow, "pty2_num_id").ToString());
                    data.Add("pty3_num_id", this.gridView4.GetRowCellValue(selectRow, "pty3_num_id").ToString());
                    data.Add("pty3_sim_no", this.gridView4.GetRowCellValue(selectRow, "pty3_sim_no").ToString());
                    data.Add("pty3_name", this.gridView4.GetRowCellValue(selectRow, "pty3_name").ToString());
                    data.Add("en_pty3_name", this.gridView4.GetRowCellValue(selectRow, "en_pty3_name").ToString());
                    data.Add("lasted_purprice_min_percent", this.gridView4.GetRowCellValue(selectRow, "lasted_purprice_min_percent").ToString());
                    data.Add("lasted_purprice_max_percent", this.gridView4.GetRowCellValue(selectRow, "lasted_purprice_max_percent").ToString());
                    data.Add("fm", this.gridView4.GetRowCellValue(selectRow, "fm").ToString());
    
                    AddOrEditSubclass AddOrEdit = new AddOrEditSubclass(data)
                    {
                        FreshData = () =>
                        {
                            SubData();
                        }
                    };
                    AddOrEdit.StartPosition = FormStartPosition.CenterScreen;
                    //AddOrEdit.myRefresh += InitDataLargeClass;
                    AddOrEdit.Text = "编辑";
                    AddOrEdit.ShowDialog();
                }
                else
                {
                    MessageHelper.InfoMsg("请选择一行记录进行编辑。");
                    return;
                }
            }
    
            private void btnDelSubclass_Click(object sender, EventArgs e)
            {
                int[] rows = gridView4.GetSelectedRows(); //获取GridView 选中的数据行信息
    
                if (rows.Length == 0)
                {
                    MessageHelper.InfoMsg("请勾选一行记录。");
                    return;
                }
                else
                {
                    List<int> selectRows;
                    List<string> custcode = new List<string>();
                    selectRows = this.gridView4.GetSelectedRows().ToList();
                    foreach (int i in selectRows)
                    {
                        custcode.Add(Convert.ToString(this.gridView4.GetDataRow(i)["series"].ToString()));
                        /*   if (this.gridview_Parent.GetDataRow(i)["group_num_id"].ToInt() == GlobalNode.ToInt())
                        {
                            ChildNodeData.DataSource = null;
                            this.GlobalNode = null;
                        }*/
                    }
                    //string depaid = string.Join(",", custcode);
    
                    System.String[] str = custcode.ToArray();
                    bool res = UnitOfWork<DAL>.Resolve.DelSubClass(str, out string errors);
                    if (errors != null)
                    {
                        MessageHelper.InfoMsg(errors);
                    }
                    else
                    {
                        MessageHelper.InfoMsg("删除成功");
                        SubData();
                    }
                }
            }
    
            private void gridview_product_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
            {
                switch (e.Button)
                {
                    case MouseButtons.Right:
                        break;
                    case MouseButtons.Left:
                        if (e.Clicks > 1) //双击
                        {
                            var selectRow = gridview_product.GetFocusedDataRow();
                            
                            // MessageBox.Show(gridview_Parent.GetFocusedDataRow()["series"].ToString());
                            //this.gridview_Parent.GetRowCellValue(selectRow, "series").ToString()
    
                            Dictionary<string, string> data = new Dictionary<string, string>();
    
                            data.Add("series", selectRow["series"].ToString());
                            data.Add("div_num_id", selectRow["div_num_id"].ToString());
                            data.Add("div_sim_no", selectRow["div_sim_no"].ToString());
                            data.Add("div_name", selectRow["div_name"].ToString() );
                            data.Add("en_div_name", selectRow["en_div_name"].ToString());
    
    
                            AddOrEditCategory AddOrEdit = new AddOrEditCategory(data) { FlushOri = LoadDivData };
                            AddOrEdit.StartPosition = FormStartPosition.CenterScreen;
                            AddOrEdit.myRefresh += InitDataCategory;
                            AddOrEdit.Text = "编辑";
                            AddOrEdit.ShowDialog();
    
                        }
                        break;
                    default:
                        break;
                }
            }
    
    
            /// <summary>
            /// 大类编辑
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btnEditLargeClass_Click(object sender, EventArgs e)
            {
                int[] rows = gridView2.GetSelectedRows(); //获取GridView 选中的数据行信息
    
                if (rows.Length == 0)
                {
                    MessageHelper.InfoMsg("请勾选一行记录。");
                    return;
                }
                else
                if (rows.Length == 1)
                {
                    int selectRow = gridView2.GetSelectedRows()[0];
                    // MessageBox.Show(gridview_Parent.GetFocusedDataRow()["series"].ToString());
                    //this.gridview_Parent.GetRowCellValue(selectRow, "series").ToString()
    
                    Dictionary<string, string> data = new Dictionary<string, string>();
    
                    data.Add("series", this.gridView2.GetRowCellValue(selectRow, "series").ToString());
                    data.Add("div_num_id", this.gridView2.GetRowCellValue(selectRow, "div_num_id").ToString());
                    data.Add("pty1_num_id", this.gridView2.GetRowCellValue(selectRow, "pty1_num_id").ToString());
                    data.Add("pty1_sim_no", this.gridView2.GetRowCellValue(selectRow, "pty1_sim_no").ToString());
                    data.Add("pty1_name", this.gridView2.GetRowCellValue(selectRow, "pty1_name").ToString());
                    data.Add("en_pty1_name", this.gridView2.GetRowCellValue(selectRow, "en_pty1_name").ToString());
    
                    AddOrEditLargeClass AddOrEdit = new AddOrEditLargeClass(data)
                    {
                        FreshData = () =>
                        {
                            LargerData();
                        }
                    };
                    AddOrEdit.StartPosition = FormStartPosition.CenterScreen;
                    //AddOrEdit.myRefresh += InitDataLargeClass;
                    AddOrEdit.Text = "编辑";
                    AddOrEdit.ShowDialog();
                }
                else
                {
                    MessageHelper.InfoMsg("请选择一行记录进行编辑。");
                    return;
                }
    
            }
            /// <summary>
            /// 大类删除
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btnDelLargeClass_Click(object sender, EventArgs e)
            {
                int[] rows = gridView2.GetSelectedRows(); //获取GridView 选中的数据行信息
    
                if (rows.Length == 0)
                {
                    MessageHelper.InfoMsg("请勾选一行记录。");
                    return;
                }
                else
                {
                    List<int> selectRows;
                    List<string> custcode = new List<string>();
                    selectRows = this.gridView2.GetSelectedRows().ToList();
                    foreach (int i in selectRows)
                    {
                        custcode.Add(Convert.ToString(this.gridView2.GetDataRow(i)["series"].ToString()));
                        /*   if (this.gridview_Parent.GetDataRow(i)["group_num_id"].ToInt() == GlobalNode.ToInt())
                        {
                            ChildNodeData.DataSource = null;
                            this.GlobalNode = null;
                        }*/
                    }
                    //string depaid = string.Join(",", custcode);
    
                    System.String[] str = custcode.ToArray();
                    bool res = UnitOfWork<DAL>.Resolve.DelLargeClass(str, out string errors);
                    if (errors != null)
                    {
                        MessageHelper.InfoMsg(errors);
                    }
                    else
                    {
                        MessageHelper.InfoMsg("删除成功");
                        LargerData();
                    }
                }
    
            }
    
    
    
        }
    }
    

      

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using YKERP.BaseForms;
    using YKERP.Business;
    using YKERP.Common;
    
    namespace YKERP._CategoryMgt
    {
    
        public partial class AddOrEditLargeClass : YKBaseForm
        {
            private string series = null;
    
    
            public Action FreshData;
    
            public AddOrEditLargeClass(Dictionary<string, string> data)
            {
                InitializeComponent();
                Load +=(s,e)=>{
                    if (data["div_num_id"].ToString() != "")
                    {
                        txt_div_num_id.ReadOnly = true;
                        txt_div_num_id.Text = data["div_num_id"].ToString();
                    }
                    else
                    {
                        this.Close();
                    }
    
                    if (data["series"]!=null)
                    {
                        txt_div_1.Text = data["pty1_num_id"].ToString();
                        txt_div_sim_no.Text = data["pty1_sim_no"].ToString();
                        txt_div_name.Text = data["pty1_name"].ToString();
                        txt_en_div_name.Text = data["en_pty1_name"].ToString();
                        this.series = data["series"].ToString();
                        txt_div_1.ReadOnly=true;
                    }             
                };
            }
    
            private void btn_AddOrEdit_Click(object sender, EventArgs e)
            {
                if (Convert.ToInt32(txt_div_1.Text) == 0)
                {
                    MessageHelper.InfoMsg("请填写大类编码");
                    return;
                }
                if (string.IsNullOrWhiteSpace(txt_div_sim_no.Text) || string.IsNullOrWhiteSpace(txt_div_name.Text) || string.IsNullOrWhiteSpace(txt_en_div_name.Text))
                {
                    MessageHelper.InfoMsg("请将信息填写完成");
                    return;
                }
                object data = new
                {
                    div_num_id = txt_div_num_id.Text, //商品部类
                    pty1_num_id= txt_div_1.Text,//商品大类
                    pty1_sim_no = txt_div_sim_no.Text,
                    pty1_name = txt_div_name.Text,
                    en_pty1_name = txt_en_div_name.Text,
                    user_num_id = 666
                };
    
                var res = UnitOfWork<DAL>.Resolve.AddOrEditLargeClass(data, out string errors);
                if (errors != null)
                {
                    MessageHelper.InfoMsg(errors);
                    return;
                }
                else
                {
                    if (this.series == null)
                        MessageHelper.InfoMsg("新增成功");
                    else
                        MessageHelper.InfoMsg("编辑成功");                
                    this.Close();
                    FreshData?.Invoke();
                    //myRefresh(this.div_num_id.ToInt());
                }
            }
        }
    
    
    
    }
    

      

  • 相关阅读:
    Wireshark——工具
    Wireshark——网络协议
    Wireshark——过滤器
    Wireshark——数据包、着色规则和提示
    Floyd最小环
    有向环覆盖问题
    KM算法
    归并排序
    树状数组
    构造强连通图
  • 原文地址:https://www.cnblogs.com/fger/p/10439202.html
Copyright © 2011-2022 走看看