/// <summary> /// 工时数量发生改变时金额也发生改变 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dgvproject_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0) { return; } //是否三包值 string strIsThree = CommonCtrl.IsNullToString(dgvproject.Rows[e.RowIndex].Cells["three_warranty"].Value); if (!string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvproject.Rows[e.RowIndex].Cells["item_name"].Value))) { if (!string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvproject.Rows[e.RowIndex].Cells["man_hour_type"].Value)))//工时 { if (e.ColumnIndex == 5 || e.ColumnIndex == 6) { ControlsConfig.SetCellsValue(dgvproject, e.RowIndex, "man_hour_quantity,man_hour_norm_unitprice"); string strNum = dgvproject.Rows[e.RowIndex].Cells["man_hour_quantity"].Value != null ? dgvproject.Rows[e.RowIndex].Cells["man_hour_quantity"].Value.ToString() : "0"; string strMoney = dgvproject.Rows[e.RowIndex].Cells["man_hour_norm_unitprice"].Value != null ? dgvproject.Rows[e.RowIndex].Cells["man_hour_norm_unitprice"].Value.ToString() : "0"; dgvproject.Rows[e.RowIndex].Cells["sum_money"].Value = Convert.ToString(Convert.ToDecimal(strNum = strNum == "" ? "0" : strNum) * Convert.ToDecimal(strMoney = strMoney == "" ? "0" : strMoney)); } } } if (e.ColumnIndex == 8) { if (CommonCtrl.IsNullToString(dgvproject.Rows[e.RowIndex].Cells["man_hour_type"].Value) == "工时") { //工时时设置数量和金额均可修改 dgvproject.Rows[e.RowIndex].Cells["man_hour_norm_unitprice"].ReadOnly = strIsThree == "否" ? false : true; } dgvproject.Rows[e.RowIndex].Cells["man_hour_quantity"].ReadOnly = strIsThree == "否" ? false : true; if (strIsThree == "是") { string strOId = CommonCtrl.IsNullToString(dgvproject.Rows[e.RowIndex].Cells["OldItem_id"].Value); if (!string.IsNullOrEmpty(strOId)) { DataTable dot = DBHelper.GetTable("", "v_workhours_users", "*", "whours_id='" + strOId + "'", "", ""); if (dot.Rows.Count > 0) { DataRow dpr = dot.Rows[0]; dgvproject.Rows[e.RowIndex].Cells["man_hour_quantity"].Value = CommonCtrl.IsNullToString(dpr["whours_num_a"]); dgvproject.Rows[e.RowIndex].Cells["man_hour_norm_unitprice"].Value = CommonCtrl.IsNullToString(dpr["quota_price"]); dgvproject.Rows[e.RowIndex].Cells["sum_money"].Value = Convert.ToString(Convert.ToDecimal(!string.IsNullOrEmpty(CommonCtrl.IsNullToString(dpr["whours_num_a"])) ? CommonCtrl.IsNullToString(dpr["whours_num_a"]) : "0") * Convert.ToDecimal(!string.IsNullOrEmpty(CommonCtrl.IsNullToString(dpr["quota_price"])) ? CommonCtrl.IsNullToString(dpr["quota_price"]) : "0")); } } } } }
private void dgvMaterials_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0) { return; } if (!string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["parts_code"].Value)) && !string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["parts_name"].Value))) { if (e.ColumnIndex == 8 || e.ColumnIndex == 7) { ControlsConfig.SetCellsValue(dgvMaterials, e.RowIndex, "quantity,unit_price"); string strNum = !string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["quantity"].Value)) ? dgvMaterials.Rows[e.RowIndex].Cells["quantity"].Value.ToString() : "0"; string strUnitPrice = !string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["unit_price"].Value)) ? dgvMaterials.Rows[e.RowIndex].Cells["unit_price"].Value.ToString() : "0"; dgvMaterials.Rows[e.RowIndex].Cells["sum_money"].Value = Convert.ToString(Convert.ToDecimal(strNum = strNum == "" ? "0" : strNum) * Convert.ToDecimal(Convert.ToDecimal(strUnitPrice = strUnitPrice == "" ? "0" : strUnitPrice))); } } }
/// <summary> /// 数量、原始单价发生改变时金额也跟着改变 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dgvMaterials_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0) { return; } string strIsThree = CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["Mthree_warranty"].Value); if (dgvMaterials.Rows[e.RowIndex].Cells["parts_name"].Value != null) { if (e.ColumnIndex == 6 || e.ColumnIndex == 7) { //if (strIsThree == "否") //{ ControlsConfig.SetCellsValue(dgvMaterials, e.RowIndex, "quantity,unit_price"); string strNum = !string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["quantity"].Value)) ? CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["quantity"].Value) : "0"; string strUMoney = !string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["unit_price"].Value)) ? CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["unit_price"].Value) : "0"; dgvMaterials.Rows[e.RowIndex].Cells["Msum_money"].Value = Convert.ToString(Convert.ToDecimal(strNum = strNum == "" ? "0" : strNum) * Convert.ToDecimal(strUMoney = strUMoney == "" ? "0" : strUMoney)); //} } } if (e.ColumnIndex == 11) { if (strIsThree == "否") { dgvMaterials.Rows[e.RowIndex].Cells["quantity"].ReadOnly = false; dgvMaterials.Rows[e.RowIndex].Cells["unit_price"].ReadOnly = false; } else if (strIsThree == "是") { dgvMaterials.Columns["quantity"].ReadOnly = false; dgvMaterials.Rows[e.RowIndex].Cells["unit_price"].ReadOnly = true; string strMId = CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["M_Id"].Value); DataTable dpt = DBHelper.GetTable("", "v_parts", "*", " parts_id='" + strMId + "'", "", ""); if (dpt.Rows.Count > 0) { DataRow dpr = dpt.Rows[0]; dgvMaterials.Rows[e.RowIndex].Cells["unit_price"].Value = CommonCtrl.IsNullToString(dpr["highest_out_price"]); string strUMoney = !string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["unit_price"].Value)) ? CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["unit_price"].Value) : "0"; string strNum = !string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["quantity"].Value)) ? CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["quantity"].Value) : "0"; dgvMaterials.Rows[e.RowIndex].Cells["Msum_money"].Value = Convert.ToString(Convert.ToDecimal(strNum = strNum == "" ? "0" : strNum) * Convert.ToDecimal(strUMoney = strUMoney == "" ? "0" : strUMoney)); } } } }
private void dgvMaterials_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0) { return; } if (!string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["parts_code"].Value))) { if (e.ColumnIndex == 4) { ControlsConfig.SetCellsValue(dgvMaterials, e.RowIndex, "quantity"); string strNum = !string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["quantity"].Value)) ? dgvMaterials.Rows[e.RowIndex].Cells["quantity"].Value.ToString() : "0"; string strWNum = !string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["inventory_num"].Value)) ? dgvMaterials.Rows[e.RowIndex].Cells["inventory_num"].Value.ToString() : "0"; if (Convert.ToDecimal(strNum) > Convert.ToDecimal(strWNum)) { MessageBoxEx.Show("领取数量不能大于库存数量!", "提示", MessageBoxButtons.OK, MessageBoxIcon.None); return; } if (!string.IsNullOrEmpty(strBefore_orderId))//导入的数据计算 { string strShouldNum = !string.IsNullOrEmpty(CommonCtrl.IsNullToString(dgvMaterials.Rows[e.RowIndex].Cells["picking_num"].Value)) ? dgvMaterials.Rows[e.RowIndex].Cells["picking_num"].Value.ToString() : "0"; if (Convert.ToDecimal(strShouldNum) > 0) { if (Convert.ToDecimal(strNum) > Convert.ToDecimal(strShouldNum)) { MessageBoxEx.Show("领取数量不能大于应领数量!", "提示", MessageBoxButtons.OK, MessageBoxIcon.None); return; } dgvMaterials.Rows[e.RowIndex].Cells["received_num"].Value = strNum; dgvMaterials.Rows[e.RowIndex].Cells["notFetchNum"].Value = (Convert.ToDecimal(strShouldNum) - Convert.ToDecimal(strNum)).ToString(); } } else { //普通的数据计算 dgvMaterials.Rows[e.RowIndex].Cells["picking_num"].Value = strNum; dgvMaterials.Rows[e.RowIndex].Cells["received_num"].Value = strNum; dgvMaterials.Rows[e.RowIndex].Cells["notFetchNum"].Value = "0"; } } } }