如何在最后一列中加上DataGridview1列? [英] How sum DataGridview1 Column in Last Column?

查看:73
本文介绍了如何在最后一列中加上DataGridview1列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 ABCDEF TOTAL 
1 2 3 4 5 6 ....





我是怎么做的????

和最后一栏当前时间



DataGridview从Access数据库中填写...

Hare是我的代码:



 cn.Open(); 
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = cn;
cmd.CommandText = SELECT CounterSale.Pro_Batch AS BatchNo,CounterSale.Pro_name As Medicine,Sum(CounterSale。 cun_qty)AS SaleQty,Sum(CounterSale.cun_totalAmt)AS TotalPrice,PurchaseBatch.Bth_qty As Batch_Qty,PurchaseBatch.Bth_Pur_rate As PurchaseRate,PurchaseBatch.Bth_sale_rate As SaleRate FROM SaleVouchers INNER JOIN(PurchaseBatch RIGHT JOIN CounterSale ON PurchaseBatch.Batch_no = CounterSale.Pro_Batch)ON SaleVouchers.Sal_voucher = CounterSale.Sal_voucher其中sal_voucher_date位于@RechargeDateStart和@RechargeDateEnd GROUP BY CounterSale.Pro_Batch,CounterSale.Pro_name,PurchaseBatch.Bth_qty,PurchaseBatch.Bth_Pur_rate,PurchaseBatch.Bth_sale_rate;;
cmd.Parameters.AddWithValue( @ RechargeDateStart,dateTimePicker1.Value.Date);
cmd.Parameters.AddWithValue( @ RechargeDateEnd,dateTimePicker2.Value.Date);
cmd.CommandType = CommandType.Text;
// dataGridView2.AutoGenerateColumns = true;
DataSet ds = new DataSet();

OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = cmd;
adapter.Fill(ds);
dataGridView2.DataSource = ds.Tables [ 0 ];
cn.Close();

解决方案

尝试使用这样的查询::

  SELECT  BatchNo,Medicine,SaleQty,TotalPrice,Batch_Qty,PurchaseRate,SaleRate,(A + B + C + N) AS 总计,现在() AS  [CurrentTime] 
FROM
SELECT CounterSale.Pro_Batch AS BatchNo,CounterSale.Pro_name 正如 Medicine,Sum(CounterSale.cun_qty) AS SaleQty,Sum(CounterSale.cun_totalAmt) AS TotalPrice,PurchaseBatch.Bth_qty As Batch_Qty,PurchaseBatch.Bth_Pur_rate As PurchaseRate,PurchaseBatch.Bth_sale_rate As SaleRate
FROM Sal eVouchers INNER JOIN (PurchaseBatch RIGHT JOIN CounterSale ON PurchaseBatch.Batch_no = CounterSale.Pro_Batch) ON SaleVouchers.Sal_voucher = CounterSale.Sal_voucher
WHERE sal_voucher_date @RechargeDateStart AND @ RechargeDateEnd GROUP BY CounterSale.Pro_Batch,CounterSale.Pro_name,PurchaseBatch.Bth_qty,PurchaseBatch.Bth_Pur_rate,PurchaseBatch.Bth_sale_rate)


A B C D E F  TOTAL
1 2 3 4 5 6  ....



How I do this????
and make last column current time

DataGridview Fill by from Access database...
Hare is My code:

cn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = cn;
cmd.CommandText = "SELECT CounterSale.Pro_Batch AS BatchNo, CounterSale.Pro_name As Medicine, Sum(CounterSale.cun_qty) AS SaleQty, Sum(CounterSale.cun_totalAmt) AS TotalPrice, PurchaseBatch.Bth_qty As Batch_Qty, PurchaseBatch.Bth_Pur_rate As PurchaseRate, PurchaseBatch.Bth_sale_rate As SaleRate FROM SaleVouchers INNER JOIN (PurchaseBatch RIGHT JOIN CounterSale ON PurchaseBatch.Batch_no = CounterSale.Pro_Batch) ON SaleVouchers.Sal_voucher = CounterSale.Sal_voucher where  sal_voucher_date between @RechargeDateStart AND @RechargeDateEnd GROUP BY CounterSale.Pro_Batch, CounterSale.Pro_name, PurchaseBatch.Bth_qty, PurchaseBatch.Bth_Pur_rate, PurchaseBatch.Bth_sale_rate;";
cmd.Parameters.AddWithValue("@RechargeDateStart", dateTimePicker1.Value.Date);
cmd.Parameters.AddWithValue("@RechargeDateEnd", dateTimePicker2.Value.Date);
cmd.CommandType = CommandType.Text;
//        dataGridView2.AutoGenerateColumns = true;
DataSet ds = new DataSet();

OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = cmd;
adapter.Fill(ds);
dataGridView2.DataSource = ds.Tables[0];
cn.Close();

解决方案

Try to use query like this::

SELECT BatchNo, Medicine, SaleQty, TotalPrice, Batch_Qty, PurchaseRate, SaleRate, (A + B + C + N) AS Total, Now() AS [CurrentTime]
FROM( 
SELECT CounterSale.Pro_Batch AS BatchNo, CounterSale.Pro_name As Medicine, Sum(CounterSale.cun_qty) AS SaleQty, Sum(CounterSale.cun_totalAmt) AS TotalPrice, PurchaseBatch.Bth_qty As Batch_Qty, PurchaseBatch.Bth_Pur_rate As PurchaseRate, PurchaseBatch.Bth_sale_rate As SaleRate
FROM SaleVouchers INNER JOIN (PurchaseBatch RIGHT JOIN CounterSale ON PurchaseBatch.Batch_no = CounterSale.Pro_Batch) ON SaleVouchers.Sal_voucher = CounterSale.Sal_voucher
WHERE sal_voucher_date between @RechargeDateStart AND @RechargeDateEnd GROUP BY CounterSale.Pro_Batch, CounterSale.Pro_name, PurchaseBatch.Bth_qty, PurchaseBatch.Bth_Pur_rate, PurchaseBatch.Bth_sale_rate)


这篇关于如何在最后一列中加上DataGridview1列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆