/// <summary> /// 单元格值改变 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void gridView1_CellValueChanged(object sender, CellValueChangedEventArgs e) { if (e.Column.FieldName.ToUpper() == "SA004" && (e.Value != DBNull.Value)) //选择服务或商品 { DataRow dr_item = SqlAssist.GetSingelRow("select * from v_all_validItem where item_id='" + e.Value + "'"); if (dr_item != null) { gridView1.SetRowCellValue(e.RowHandle, "SA003", dr_item["ITEM_NAME"].ToString()); //项目名称 gridView1.SetRowCellValue(e.RowHandle, "PRICE", dr_item["PRICE"]); //单价 gridView1.SetRowCellValue(e.RowHandle, "SA006", dr_item["PRICE"]); //原始单价 gridView1.SetRowCellValue(e.RowHandle, "SA025", dr_item["TAXRATE"]); //税率 //计算小计金额 decimal dec_price = decimal.Zero; int i_nums = 0; if (decimal.TryParse(gridView1.GetRowCellValue(e.RowHandle, "PRICE").ToString(), out dec_price)) { i_nums = Convert.ToInt32(gridView1.GetRowCellValue(e.RowHandle, "NUMS")); gridView1.SetRowCellValue(e.RowHandle, "SA007", i_nums * dec_price); } else { gridView1.SetRowCellValue(e.RowHandle, "SA007", 0); } } } else if (e.Column.FieldName.ToUpper() == "PRICE") //修改单价 { decimal dec_price = decimal.Zero; int i_nums; if (e.Value != DBNull.Value) { if (decimal.TryParse(gridView1.GetRowCellValue(e.RowHandle, "PRICE").ToString(), out dec_price)) { i_nums = Convert.ToInt32(gridView1.GetRowCellValue(e.RowHandle, "NUMS")); gridView1.SetRowCellValue(e.RowHandle, "SA007", i_nums * dec_price); } else { gridView1.SetRowCellValue(e.RowHandle, "SA007", 0); } } else { gridView1.SetRowCellValue(e.RowHandle, "SA007", 0); } } else if (e.Column.FieldName.ToUpper() == "NUMS") { decimal dec_price = decimal.Zero; int i_nums; if (e.Value != DBNull.Value) { if (decimal.TryParse(gridView1.GetRowCellValue(e.RowHandle, "PRICE").ToString(), out dec_price)) { i_nums = Convert.ToInt32(gridView1.GetRowCellValue(e.RowHandle, "NUMS")); gridView1.SetRowCellValue(e.RowHandle, "SA007", i_nums * dec_price); } else { gridView1.SetRowCellValue(e.RowHandle, "SA007", 0); } } else { gridView1.SetRowCellValue(e.RowHandle, "SA007", 0); } } else if (e.Column.FieldName.ToUpper() == "SA007") //销售金额 { dec_sales = 0; for (int i = 0; i < gridView1.RowCount; i++) { if (i == e.RowHandle) { dec_sales += Convert.ToDecimal(e.Value); } else { if (gridView1.GetRowCellValue(i, "SA007") != null && gridView1.GetRowCellValue(i, "SA007") != System.DBNull.Value) { dec_sales += Convert.ToDecimal(gridView1.GetRowCellValue(i, "SA007")); } } } ///// 如果是新行 if (e.RowHandle < 0) { dec_sales += Convert.ToDecimal(e.Value); } this.Calc_sum(); } }
/// <summary> /// 变更事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { if (e.Column.FieldName.ToUpper() == "SA004" && (e.Value != DBNull.Value)) //选择服务或商品 { DataRow dr_item = SqlAssist.GetSingelRow("select * from v_all_validItem where item_id='" + e.Value + "'"); if (dr_item != null) { gridView1.SetRowCellValue(e.RowHandle, "SA003", dr_item["ITEM_NAME"].ToString()); //项目名称 gridView1.SetRowCellValue(e.RowHandle, "PRICE", dr_item["PRICE"]); //单价 gridView1.SetRowCellValue(e.RowHandle, "SA006", dr_item["PRICE"]); //原始单价 gridView1.SetRowCellValue(e.RowHandle, "SA025", dr_item["TAXRATE"]); //税率 //计算小计金额 decimal dec_price = decimal.Zero; int i_nums = 0; if (decimal.TryParse(gridView1.GetRowCellValue(e.RowHandle, "PRICE").ToString(), out dec_price)) { i_nums = Convert.ToInt32(gridView1.GetRowCellValue(e.RowHandle, "NUMS")); gridView1.SetRowCellValue(e.RowHandle, "SA007", i_nums * dec_price); } else { gridView1.SetRowCellValue(e.RowHandle, "SA007", 0); } } } else if (e.Column.FieldName.ToUpper() == "PRICE") //修改单价 { decimal dec_price = decimal.Zero; int i_nums; if (e.Value != DBNull.Value) { if (decimal.TryParse(gridView1.GetRowCellValue(e.RowHandle, "PRICE").ToString(), out dec_price)) { i_nums = Convert.ToInt32(gridView1.GetRowCellValue(e.RowHandle, "NUMS")); gridView1.SetRowCellValue(e.RowHandle, "SA007", i_nums * dec_price); } else { gridView1.SetRowCellValue(e.RowHandle, "SA007", 0); } } else { gridView1.SetRowCellValue(e.RowHandle, "SA007", 0); } } else if (e.Column.FieldName.ToUpper() == "NUMS") { decimal dec_price = decimal.Zero; int i_nums; if (e.Value != DBNull.Value) { if (decimal.TryParse(gridView1.GetRowCellValue(e.RowHandle, "PRICE").ToString(), out dec_price)) { i_nums = Convert.ToInt32(gridView1.GetRowCellValue(e.RowHandle, "NUMS")); gridView1.SetRowCellValue(e.RowHandle, "SA007", i_nums * dec_price); } else { gridView1.SetRowCellValue(e.RowHandle, "SA007", 0); } } else { gridView1.SetRowCellValue(e.RowHandle, "SA007", 0); } } }