Exemplo n.º 1
0
        /// <summary>
        /// 获取
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TmGet_Click(object sender, EventArgs e)
        {
            try
            {
                //区分:当_remark="A"时,表示‘新增’记录,可多行选择; 反之,为‘替换’使用,只能选择一行
                if (gvdtl.SelectedRows.Count == 0)
                {
                    throw new Exception("没有选中行,请选择后再继续");
                }
                //根据不同情况获取不同的临时表
                //'室内装修工程单'使用
                if (_funname == "HouseProject")
                {
                    //基础信自息库获取
                    if (rdchooseBd.Checked)
                    {
                        _resultTable = dtList.Get_BDHtypeEmptydt();
                    }
                    //获取历史记录
                    else if (rdchooseOrderHistory.Checked)
                    {
                        _resultTable = dtList.Get_HistoryAdornEmptydt();
                    }
                }
                //'室内主材单'使用
                else
                {
                    if (rdchooseBd.Checked)
                    {
                        _resultTable = dtList.Get_BDMaterialEmptydt();
                    }
                    else if (rdchooseOrderHistory.Checked)
                    {
                        _resultTable = dtList.Get_HistoryMaterialEmptydt();
                    }
                }

                //当为‘新增’操作时执行
                if (_remark == "A")
                {
                    //'室内装修工程单'使用
                    if (_funname == "HouseProject")
                    {
                        //循环所选行数
                        foreach (DataGridViewRow row in gvdtl.SelectedRows)
                        {
                            var newrow = _resultTable.NewRow();
                            newrow[0] = row.Cells[0].Value; //Htypeid
                            newrow[1] = row.Cells[1].Value; //装修工程类别
                            newrow[2] = row.Cells[2].Value; //项目名称
                            newrow[3] = row.Cells[3].Value; //单位
                            newrow[4] = row.Cells[4].Value; //单价
                            _resultTable.Rows.Add(newrow);
                        }
                    }
                    //'室内主材单'使用
                    else
                    {
                        //循环所选行数
                        foreach (DataGridViewRow row in gvdtl.SelectedRows)
                        {
                            var newrow = _resultTable.NewRow();
                            newrow[0] = row.Cells[0].Value; //MaterialId
                            newrow[1] = row.Cells[1].Value; //材料大类
                            newrow[2] = row.Cells[2].Value; //材料名称
                            newrow[4] = row.Cells[4].Value; //单位
                            newrow[5] = row.Cells[5].Value; //单价
                            _resultTable.Rows.Add(newrow);
                        }
                    }
                }
                //当为‘替换’操作时
                else
                {
                    if (gvdtl.SelectedRows.Count > 1)
                    {
                        throw new Exception("只能选择一行记录进行替换,请重新选择");
                    }
                    //'室内装修工程单'使用
                    if (_funname == "HouseProject")
                    {
                        var newrow = _resultTable.NewRow();
                        newrow[0] = gvdtl.SelectedRows[0].Cells[0].Value; //Htypeid
                        newrow[1] = gvdtl.SelectedRows[0].Cells[1].Value; //装修工程类别
                        newrow[2] = gvdtl.SelectedRows[0].Cells[2].Value; //项目名称
                        newrow[3] = gvdtl.SelectedRows[0].Cells[3].Value; //单位
                        newrow[4] = gvdtl.SelectedRows[0].Cells[4].Value; //单价
                        _resultTable.Rows.Add(newrow);
                    }
                    //'室内主材单'使用
                    else
                    {
                        var newrow = _resultTable.NewRow();
                        newrow[0] = gvdtl.SelectedRows[0].Cells[0].Value; //MaterialId
                        newrow[1] = gvdtl.SelectedRows[0].Cells[1].Value; //材料大类名称
                        newrow[2] = gvdtl.SelectedRows[0].Cells[2].Value; //材料名称
                        newrow[4] = gvdtl.SelectedRows[0].Cells[4].Value; //单位
                        newrow[5] = gvdtl.SelectedRows[0].Cells[5].Value; //单价
                        _resultTable.Rows.Add(newrow);
                    }
                }
                //完成后关闭该窗体
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 根据功能ID获取对应的空白临时表
        /// </summary>
        /// <param name="functionName">功能名,作用:获取空白表格</param>
        /// <returns></returns>
        public DataTable GetTempdt(string functionName)
        {
            var resultDt = new DataTable();

            switch (functionName)
            {
            //客户信息管理
            case "Customer":
                resultDt = dlDtList.Get_CustEmptydt();
                break;

            //供应商管理
            case "Supplier":
                resultDt = dlDtList.Get_SupplierEmptydt();
                break;

            //材料信息管理
            case "Material":
                resultDt = dlDtList.Get_MaterialEmptydt();
                break;

            //房屋类型及装修工程类别信息管理
            case "House":
                resultDt = dlDtList.Get_HouseEmptydt();
                break;

            //房屋类型及装修工程类别信息管理-类别项目名称
            case "HouseProject":
                resultDt = dlDtList.Get_HouseProjectEmptydt();
                break;

            //室内装修工程单
            case "AdornOrder":
                resultDt = dlDtList.Get_AdornEmptydt();
                break;

            //室内主材单
            case "MaterialOrder":
                resultDt = dlDtList.Get_ProMaterialEmtrydt();
                break;

            //室内装修工程单-表头记录(用于生成单据头使用)
            case "AdornOrderHead":
                resultDt = dlDtList.Get_ProAdorndt();
                break;

            //室内主材单-表头记录(用于生成单据头使用)
            case "MaterialOrderHead":
                resultDt = dlDtList.Get_ProMaterialdt();
                break;

            //室内主材单-树菜单记录(用于生成室内主材单-树菜单信息记录)
            case "MaterialOrderTree":
                resultDt = dlDtList.Get_ProMaterialTreedt();
                break;

            // 获取历史单据记录 T_PRO_ADORN TypeInfoFrm.cs使用
            case "HistoryAdornEmpty":
                resultDt = dlDtList.Get_HistoryAdornEmptydt();
                break;

            //获取历史单据记录 T_PRO_MATERIAL TypeInfoFrm.cs使用
            case "HistoryMaterial":
                resultDt = dlDtList.Get_HistoryMaterialEmptydt();
                break;

            //获取基础信息库-装修工程明细记录临时表(TypeInform窗体使用)
            case "BDAdorn":
                resultDt = dlDtList.Get_BDHtypeEmptydt();
                break;

            //获取基础信息库-材料明细记录临时表(TypeInform窗体使用)
            case "BDMaterial":
                resultDt = dlDtList.Get_BDMaterialEmptydt();
                break;
            }
            return(resultDt);
        }