Пример #1
0
        public void toolStripMenuItem_导入_Click(object sender, EventArgs e)
        {
            Control cltr = this.SourceControl;

            if (cltr == null)
            {
                return;
            }

            if (cltr is DataGridView)
            {
                DataGridView dgvTemp = cltr as DataGridView;

                DataTable dtTemp = ExcelHelperP.RenderFromExcel(openFileDialog1);

                if (dtTemp == null)
                {
                    return;
                }

                foreach (DataGridViewColumn cl in dgvTemp.Columns)
                {
                    if (!dtTemp.Columns.Contains(cl.HeaderText))
                    {
                        MessageDialog.ShowPromptMessage("文件无【" + cl.HeaderText + "】列名");
                        return;
                    }
                }

                if (_InputEvent != null)
                {
                    _InputEvent(dtTemp);
                }

                MessageDialog.ShowPromptMessage("导入成功");
            }
            else
            {
                if (_导入 != null)
                {
                    _导入();
                }
            }
        }
        private void btnInput_Click(object sender, EventArgs e)
        {
            try
            {
                DataTable dtTemp = ExcelHelperP.RenderFromExcel(openFileDialog1);

                if (dtTemp == null || dtTemp.Rows.Count == 0)
                {
                    throw new Exception("请填写对应列名的内容");
                }

                if (!dtTemp.Columns.Contains("出厂流水码"))
                {
                    MessageDialog.ShowPromptMessage("未找到列名为:【出厂流水码】的列");
                    return;
                }

                if (!dtTemp.Columns.Contains("箱体编码"))
                {
                    MessageDialog.ShowPromptMessage("未找到列名为:【箱体编码】的列");
                    return;
                }

                m_dtProductCodes.Rows.Clear();
                dataGridView1.DataSource = m_dtProductCodes;

                foreach (DataRow dr in dtTemp.Rows)
                {
                    if (dr["出厂流水码"].ToString().Trim().Length != 0)
                    {
                        txtProductCode.Text = dr["出厂流水码"].ToString().Trim();
                        _TempBoxNo          = dr["箱体编码"].ToString().Trim();
                        btnAdd_Click(sender, e);
                    }
                }

                _TempBoxNo = "";
            }
            catch (Exception ex)
            {
                MessageDialog.ShowPromptMessage(ex.Message);
            }
        }
Пример #3
0
        private void btnImport_Click(object sender, EventArgs e)
        {
            DataTable dtTemp = ExcelHelperP.RenderFromExcel(openFileDialog1);

            if (dtTemp == null)
            {
                return;
            }

            m_receivedUserType =
                GlobalObject.GeneralFunction.StringConvertToEnum <BillFlowMessage_ReceivedUserType>(tabControl1.SelectedTab.Name);

            switch (m_receivedUserType)
            {
            case BillFlowMessage_ReceivedUserType.用户:

                if (!dtTemp.Columns.Contains("员工姓名") && !dtTemp.Columns.Contains("员工编号"))
                {
                    MessageDialog.ShowPromptMessage("无【员工编号】或【员工姓名】列");
                    return;
                }

                DataTable tempTable = ((DataTable)dataGridView2.DataSource).Clone();

                foreach (DataRow dr in dtTemp.Rows)
                {
                    DataRow newRow = tempTable.NewRow();

                    View_HR_Personnel personnel = new View_HR_Personnel();

                    object obj = "";

                    if (dtTemp.Columns.Contains("员工编号"))
                    {
                        obj = dr["员工编号"];
                    }
                    else
                    {
                        obj = dr["员工姓名"];
                    }

                    if (obj == null)
                    {
                        MessageDialog.ShowPromptMessage("有一行记录为空,请重新检查");
                        return;
                    }

                    personnel = UniversalFunction.GetPersonnelInfo(obj.ToString());

                    if (personnel == null)
                    {
                        MessageDialog.ShowPromptMessage("【员工编号】/【员工姓名】: " + obj.ToString() + " 数据错误,请重新检查");
                        return;
                    }

                    newRow["员工编号"] = personnel.工号;
                    newRow["员工姓名"] = personnel.姓名;

                    tempTable.Rows.Add(newRow);
                }

                dataGridView1.DataSource = tempTable;

                break;

            case BillFlowMessage_ReceivedUserType.角色:
                break;

            default:
                break;
            }
        }
Пример #4
0
        private void toolStripMenuItem_取消导入项_Click(object sender, EventArgs e)
        {
            Control cltr = this.SourceControl;

            if (cltr == null)
            {
                return;
            }

            if (cltr is DataGridView)
            {
                DataGridView dgvTemp = cltr as DataGridView;

                int columnsIndex = -1;

                foreach (DataGridViewColumn cl in dgvTemp.Columns)
                {
                    if (cl.CellType == typeof(DataGridViewCheckBoxColumn) ||
                        cl.CellType == typeof(DataGridViewCheckBoxCell))
                    {
                        columnsIndex = cl.Index;
                        break;
                    }
                }

                if (columnsIndex != -1)
                {
                    DataTable dtTemp = ExcelHelperP.RenderFromExcel(openFileDialog1);

                    if (dtTemp == null)
                    {
                        return;
                    }

                    foreach (DataGridViewColumn cl in dgvTemp.Columns)
                    {
                        if (cl.Index != columnsIndex)
                        {
                            if (!dtTemp.Columns.Contains(cl.Name))
                            {
                                MessageDialog.ShowPromptMessage("文件无【" + cl.Name + "】列名");
                                return;
                            }
                        }
                    }

                    foreach (DataGridViewRow dgvr in dgvTemp.Rows)
                    {
                        foreach (DataRow dr in dtTemp.Rows)
                        {
                            foreach (DataGridViewColumn dgvc in dgvTemp.Columns)
                            {
                                if (dgvc.Index != columnsIndex)
                                {
                                    dgvr.Cells[dgvc.Name].Value = dgvr.Cells[dgvc.Name].Value == null ? "" : dgvr.Cells[dgvc.Name].Value.ToString();
                                    dr[dgvc.Name] = dr[dgvc.Name] == null ? "" : dr[dgvc.Name].ToString();

                                    if (dgvr.Cells[dgvc.Name].Value.ToString() == dr[dgvc.Name].ToString())
                                    {
                                        dgvr.Cells[columnsIndex].Value = false;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                if (_取消导入项 != null)
                {
                    _取消导入项();
                }
            }
        }