您的位置:首页 > 数据库

datagridview涉及计算问题

2012-05-06 20:39 176 查看
1.

string sql_select = "select C_Name,sum(C_ShouRu) as sr,sum(C_ZhiChu) as zc,sum(C_Jieyu) as jy from t_szk_a where C_Date between #" + dtp_start.Text + "# and #" + dtp_end.Text + "# group by C_Name";

 DataTable dt = DB_DataGridView.DGV_source(sql_select);  //调用执行sql,返回一个DataTable

 double sumshouru = 0;  //总收入

 double sumzhichu = 0;  //总支出

 double sumjieyu = 0;   //总结余

 double temp_percent = 0;

 //计算总收入、总支出、总结余

 for (int i = 0; i < dt.Rows.Count; i++)

 {

 sumshouru += Convert.ToDouble(dt.Rows[i]["sr"]);

 sumzhichu += Convert.ToDouble(dt.Rows[i]["zc"]);

 sumjieyu += Convert.ToDouble(dt.Rows[i]["jy"]);

 }

 dt.Columns.Add(new DataColumn("sr_per"));   //增加收入百分比列

 for (int j = 0; j < dt.Rows.Count; j++)

 {

 temp_percent = Convert.ToDouble(dt.Rows[j]["sr"]) / sumshouru;

 dt.Rows[j]["sr_per"] = temp_percent.ToString("0.00%");

 }

 dt.Columns.Add(new DataColumn("zc_per"));  //增加支出百分比列

 for (int k = 0; k < dt.Rows.Count; k++)

 {

 temp_percent = Convert.ToDouble(dt.Rows[k]["zc"]) / sumzhichu;

 dt.Rows[k]["zc_per"] = temp_percent.ToString("0.00%");

 }

 dt.Columns.Add(new DataColumn("jy_per"));  //增加结余百分比列

 for (int m = 0; m < dt.Rows.Count; m++)

 {

 temp_percent = Convert.ToDouble(dt.Rows[m]["jy"]) / sumjieyu;

 dt.Rows[m]["jy_per"] = temp_percent.ToString("0.00%");

 }
 dataGridView1.DataSource = dt;
2.DataGridView实现页脚统计方法
private void BindDataOnGrid()


        {


            dsProductTableAdapters.ProductsTableAdapter adtProduct = new GetTotalAtFooter.dsProductTableAdapters.ProductsTableAdapter();


            dsProduct.ProductsDataTable productTable = adtProduct.GetProducts(); 


            dsProduct.ProductsRow pr = productTable.NewProductsRow();


            pr.ProductName = "总计:";


            decimal totalPrice = 0M;


            foreach (dsProduct.ProductsRow dpr in productTable.Rows)


            {


                totalPrice += dpr.UnitPrice;


            }


            //pr.UnitPrice = Convert.ToDecimal(adtProduct.GetSumUnitPrice());//用sql的sum函数在数据集里面进行计算


            pr.UnitPrice = totalPrice;//用程序的方法计算DataTable里面的值


            pr.Discontinued = false;


            productTable.Rows.InsertAt(pr, productTable.Rows.Count);


            dataGridView1.AutoGenerateColumns = false;


            dataGridView1.DataSource = productTable;


        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql date c