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(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); } /// /// 将DataGridViewRows转换为DataTable数据 /// /// DataGridView的行集合 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; } } }