/// <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); } }
/// <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); }