コード例 #1
0
ファイル: Frm_checkin.cs プロジェクト: anrk0451/green
 /// <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();
     }
 }
コード例 #2
0
ファイル: Frm_TempSales.cs プロジェクト: anrk0451/green
 /// <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);
         }
     }
 }