jt
2021-06-10 5d0d028456874576560552f5a5c4e8b801786f11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
using Newtonsoft.Json;
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.Forms;
 
namespace HH.WMS.Client
{
    public partial class ItemForm : DevComponents.DotNetBar.Metro.MetroForm
    {
        public ItemForm()
        {
            InitializeComponent();
        }
        //1.声明自适应类实例  
        AutoSizeFormClass asc = new AutoSizeFormClass();  
        private void ItemForm_Load(object sender, EventArgs e)
        {
            asc.controllInitializeSize(this);  
            //获取订单类别
            //var title = this.Text;
            //string str = WebApiManager.HttpWMS_Get("/api/Arrival/GetMstList?opNo=");
            //OperateResult results = JsonConvert.DeserializeObject<OperateResult>(str);
            //dgvlist1.AutoGenerateColumns = false;
            //this.dgvlist1.DataSource = results.Data;
 
            dgvlist1.AutoGenerateColumns = false;
            dgvlist2.AutoGenerateColumns = false;
 
            this.pager1.PageCurrent = 1;
            this.pager1.GetComboxPageSize();
            this.pager1.Bind();
        }
 
        private int pager1_EventPaging(WindowsApp.MyControl.EventPagingArg e)
        {
            WindowsApp.MyControl.PageData pageData = new WindowsApp.MyControl.PageData();
            //pageData.TableName = "T_ReceiveOrder";
            //pageData.PrimaryKey = "ReceiveOrderID";
            //pageData.OrderStr = "ReceiveOrderID desc";
            pageData.PageIndex = this.pager1.PageCurrent;
            pageData.PageSize = this.pager1.PageSize;
            pageData.CN_S_ITEM_CODE = this.txtItemCode.Text.Trim();
            pageData.CN_S_ITEM_NAME = this.txtName.Text.Trim();
            pageData.CN_S_MODEL = this.txtModel.Text.Trim();
            //pageData.QueryCondition = "";
            //pageData.QueryFieldName = "*";
 
            this.pager1.bindingSource.DataSource = pageData.QueryDataTable();
            this.pager1.bindingNavigator.BindingSource = pager1.bindingSource;
            dgvlist1.AutoGenerateColumns = false;
            dgvlist1.DataSource = this.pager1.bindingSource;
            return pageData.TotalCount;
        }
 
        private void btnSerach_Click(object sender, EventArgs e)
        {
            this.pager1.Bind();
        }
 
        private void dgvlist1_DoubleClick(object sender, EventArgs e)
        {
            if (this.dgvlist1.CurrentRow == null)
                return;
            DataGridViewRow rows = this.dgvlist1.Rows[this.dgvlist1.CurrentRow.Index];
 
            //判断是否重复
            var count = 0;
            foreach (DataGridViewRow row in this.dgvlist2.Rows)
            {
                foreach (DataGridViewColumn col in dgvlist2.Columns)
                {
                 string name = col.DataPropertyName;
                 if (row.Cells[name + "_S"].Value == rows.Cells[name].Value) 
                 {
                     count++;
 
                     if (count == 5)
                     break;
                 }
                }
            }
            if (count == 5)
            {
                MessageBox.Show("第" + (this.dgvlist1.CurrentRow.Index + 1) + "列物料编码【" + rows.Cells["CN_S_ITEM_CODE"].Value + "】重复");
                return;
            }
 
            int index = this.dgvlist2.Rows.Add();
 
            //新增遍历列
            foreach (DataGridViewColumn col in this.dgvlist2.Columns)
            {
                string name = col.DataPropertyName;
                this.dgvlist2.Rows[index].Cells[name + "_S"].Value = rows.Cells[name].Value;
            }
            
 
        }
 
        private void dgvlist1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
        {
            //显示在HeaderCell上
            for (int i = 0; i < this.dgvlist1.Rows.Count; i++)
            {
                DataGridViewRow r = this.dgvlist1.Rows[i];
                r.HeaderCell.Value = string.Format("{0}", i + 1);
            }
        }
 
        private void dgvlist2_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
        {
            //显示在HeaderCell上
            for (int i = 0; i < this.dgvlist2.Rows.Count; i++)
            {
                DataGridViewRow r = this.dgvlist2.Rows[i];
                r.HeaderCell.Value = string.Format("{0}", i + 1);
            }
        }
 
        private void dgvlist2_DoubleClick(object sender, EventArgs e)
        {
 
            for (int i = this.dgvlist2.SelectedRows.Count; i > 0; i--)
            {
                //int ID = Convert.ToInt32(dgvlist.SelectedRows[i - 1].Cells[0].Value);
                dgvlist2.Rows.RemoveAt(dgvlist2.SelectedRows[i - 1].Index);
            }
        }
 
        private void btnEmpty_Click(object sender, EventArgs e)
        {
            this.dgvlist2.Rows.Clear();
        }
 
        private void btnDelete_Click(object sender, EventArgs e)
        {
            for (int i = this.dgvlist2.SelectedRows.Count; i > 0; i--)
            {
                dgvlist2.Rows.RemoveAt(dgvlist2.SelectedRows[i - 1].Index);
            }
        }
        public delegate void itemCodeDelegate(DataTable ds);//委托
        public event itemCodeDelegate itemCodes;
        private void btnSave_Click(object sender, EventArgs e)
        {
            DataTable dt= Getdatatable(dgvlist2.Rows);
            itemCodes(dt);
            this.Close();
        }
 
        private void dgvlist2_RowStateChanged_1(object sender, DataGridViewRowStateChangedEventArgs e)
        {
            //显示在HeaderCell上
            for (int i = 0; i < this.dgvlist2.Rows.Count; i++)
            {
                DataGridViewRow r = this.dgvlist2.Rows[i];
                r.HeaderCell.Value = string.Format("{0}", i + 1);
            }
        }
 
        private void ItemForm_SizeChanged(object sender, EventArgs e)
        {
            asc.controlAutoSize(this);
        }
 
        /// <summary>
        /// 将DataGridViewRows转换为DataTable数据
        /// </summary>
        /// <param name="Listrows">DataGridView的行集合</param>
        public DataTable Getdatatable(DataGridViewRowCollection Listrows)
        {
            DataTable dt = new DataTable();
 
            int colCount=dgvlist1.Columns.Count;
            foreach (DataGridViewColumn col in dgvlist1.Columns)
            {
                dt.Columns.Add(col.Name);
            }
            string[] s=new string[colCount];
            foreach (DataGridViewRow row in Listrows)
            {
                for (int i = 0; i < colCount; i++)
                    s[i] = row.Cells[i].Value.ToString();
                dt.Rows.Add(s);
            }
            return dt;
        }
    }
}