在数据发生变化时显示网格中的每日销售总额 [英] show daily sale total in the grid when ever the data changes

查看:46
本文介绍了在数据发生变化时显示网格中的每日销售总额的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  public   partial   class  gridBind:System.Web.UI.Page 
{
public SqlConnection con = new SqlConnection();
受保护 void Page_Load( object sender,EventArgs e)
{
if (!(IsPostBack))

{
con .ConnectionString = ConfigurationManager.ConnectionStrings [ con]。ConnectionString;
SqlDataAdapter adp = new SqlDataAdapter( SELECT SLHD.VOUCH_CODE,SLHD.VOUCH_DATE,SLHD.VOUCH_NUM,SUM(SLTXN.CALC_NET_AMT)AS AMT,ACT.ACT_NAME,SUM(SLTXN.TOT_QTY)来自SL_HEAD20132014的数量作为SLHD,ACCOUNTS AS ACT,SL_TXN20132014 AS SLTXN WHERE SLHD.ACT_CODE = ACT.ACT_CODE和SLTXN.VOUCH_CODE = SLHD.VOUCH_CODE SLHD.VOUCH_CODE,SLHD.VOUCH_NUM,SLHD.VOUCH_NUM,ACT.ACT_NAME订购SLHD.VOUCH_DATE,con);
DataSet ds = new DataSet();
adp.Fill(ds);
grdRecord.DataSource = ds;
grdRecord.DataBind();

}
}
}



现在我的输出就像

 VOUCH_CODE VOUCH_DATE VOUCH_NUM AMT ACT_NAME数量
1 12/5/2013 00:00:00 SLGS 1 1271.0000现金16.0000
2 12/6/2013 00:00:00 SLGS 2 220.0000现金1.0000
3 12/6/2013 00:00:00 SLGS 3 220.0000现金1.0000
4 12/6/2013 00:00:00 SLGS 4 540.0000现金4.0000
5 12/13/2013 00:00:00 SLGS 5 600.0000手中现金2.0000
6 12/16/2013 00:00:00 SLGS 6 314.0000现金3.0000



但我想要



 VOUCH_CODE VOUCH_DATE VOUCH_NUM AMT ACT_NAME数量
1 12/5 / 2013 00:00:00 SLGS 1 1271.0000现金16.0000
2 12/5/2013 00:00:00 SLGS 1 1271.0000现金16.0000 //每日总记录更改
3 12/6 / 2013 00:00:00 SLGS 2 220.0000手中的现金1.0000
4 12/6/2013 00 :00:00 SLGS 3 220.0000现金1.0000
5 12/6/2013 00:00:00 SLGS 4 540.0000现金4.0000
6 12/6/2013 00:00:00 SLGS 4 980.0000现金6.0000 //每日记录日期变更总数



等..........

解决方案

试试这个:

   -   创建表格 
创建 [dbo]。[SL_HEAD](
[VOUCH_CODE] [ varchar ]( 30 NOT NULL
[VOUCH_DATE] date NULL
[VOUCH_NUM] [ varchar ](< span class =code-digit> 30 ) NOT NULL
[AMT] int NOT NULL
[ACT_NAME] [ varchar ]( 30 NOT NULL
[QTY] int NOT NULL
ON [ PRIMARY ]

- 测试表插入查询

insert 进入 SL_HEAD ' 1'' 2014-03-26'' 000-00' 200 ' 测试' 26
插入 SL_HEAD ' 2'' 2014-03-26 '' 000-00' 240 ' 测试' 16
插入 进入 SL_HEAD ' 3'' 2014-03-27'' 000-00' 100 ' 测试' 89
insert into SL_HEAD values ' 4' 2014 -03-27'' 000-00' 125 ' 测试' 34
插入 进入 SL_HEAD ' 5'' 2014-03-27'' 000-00' 195 ' 测试' 76
插入 进入 SL_HEAD ' 6'' 2014-03-27'' 000-00' 854 ' 测试' 23

选择
VOUCH_CODE,
VOUCH_DATE,
VOUCH_NUM ,
AMT,
ACT_NAME,
数量
来自

选择
VOUCH_CODE,
VOUCH_DATE,
VOUCH _NUM,
AMT,
ACT_NAME,
数量
来自
SL_HEAD
union 全部
选择 max(VOUCH_CODE) +1 as VOUCH_CODE,
max(VOUCH_DATE) as VOUCH_DATE,
max( VOUCH_NUM) as VOUCH_NUM,
sum(AMT) as AMT,
max( ACT_NAME) as VOUCH_NUM,
sum(QTY) as QTY
来自
SL_HEAD
group by
VOUCH_DATE
)q
订单 VOUCH_DATE,vouch_CODE





决赛输出将是这样的



1 2014-03-03 -2 6 000-00 200测试26

2 2014-03-26 000-00 240测试16

3 2014-03-26 000-00 440测试42
3 2014-03-27 000-00 100测试89

4 2014-03-27 000-00 125测试34

5 2014-03- 27 000-00 195测试76

6 2014-03-27 000-00 854测试23

7 2014-03-27 000-00 1274测试222


public partial class gridBind : System.Web.UI.Page
{
    public SqlConnection con = new SqlConnection();
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!(IsPostBack))

        {
            con.ConnectionString = ConfigurationManager.ConnectionStrings["con"].ConnectionString;
            SqlDataAdapter adp = new SqlDataAdapter("SELECT SLHD.VOUCH_CODE,SLHD.VOUCH_DATE,SLHD.VOUCH_NUM,SUM(SLTXN.CALC_NET_AMT) AS AMT,ACT.ACT_NAME,SUM(SLTXN.TOT_QTY) AS QTY FROM SL_HEAD20132014 AS SLHD,ACCOUNTS AS ACT,SL_TXN20132014 AS SLTXN WHERE SLHD.ACT_CODE=ACT.ACT_CODE AND SLTXN.VOUCH_CODE=SLHD.VOUCH_CODE GROUP BY SLHD.VOUCH_CODE,SLHD.VOUCH_DATE,SLHD.VOUCH_NUM,ACT.ACT_NAME  ORDER BY SLHD.VOUCH_DATE ", con);
            DataSet ds = new DataSet();
            adp.Fill(ds);
            grdRecord.DataSource = ds;
            grdRecord.DataBind();

        }
    }
}


now my output is like

VOUCH_CODE	VOUCH_DATE	VOUCH_NUM	AMT	ACT_NAME	QTY
1	12/5/2013 00:00:00	SLGS 1	1271.0000	CASH IN HAND	16.0000
2	12/6/2013 00:00:00	SLGS 2	220.0000	CASH IN HAND	1.0000
3	12/6/2013 00:00:00	SLGS 3	220.0000	CASH IN HAND	1.0000
4	12/6/2013 00:00:00	SLGS 4	540.0000	CASH IN HAND	4.0000
5	12/13/2013 00:00:00	SLGS 5	600.0000	CASH IN HAND	2.0000
6	12/16/2013 00:00:00	SLGS 6	314.0000	CASH IN HAND	3.0000


but i want

VOUCH_CODE	VOUCH_DATE	VOUCH_NUM	AMT	ACT_NAME	QTY
1	                        12/5/2013 00:00:00	SLGS 1	1271.0000	CASH IN HAND	16.0000
2                              12/5/2013 00:00:00	SLGS 1	1271.0000	CASH IN HAND	16.0000 // total daily record date changes
3	                         12/6/2013 00:00:00	SLGS 2	220.0000	CASH IN HAND	1.0000
4	                           12/6/2013 00:00:00	SLGS 3	220.0000	CASH IN HAND	1.0000
5	                         12/6/2013 00:00:00	SLGS 4	540.0000	CASH IN HAND	4.0000
6                                12/6/2013 00:00:00	SLGS 4	980.0000	CASH IN HAND	6.0000 // total daily record date changes


so on..........

解决方案

Try This :

-- Create table
CREATE TABLE [dbo].[SL_HEAD](
	[VOUCH_CODE] [varchar](30) NOT NULL,
	[VOUCH_DATE] date NOT NULL,
	[VOUCH_NUM] [varchar](30) NOT NULL,
	[AMT]  int NOT NULL,
	[ACT_NAME] [varchar](30) NOT NULL,
	[QTY]  int NOT NULL,
) ON [PRIMARY]

--test table insert query

insert into SL_HEAD values('1','2014-03-26','000-00',200,'Test',26)
insert into SL_HEAD values('2','2014-03-26','000-00',240,'Test',16)
insert into SL_HEAD values('3','2014-03-27','000-00',100,'Test',89)
insert into SL_HEAD values('4','2014-03-27','000-00',125,'Test',34)
insert into SL_HEAD values('5','2014-03-27','000-00',195,'Test',76)
insert into SL_HEAD values('6','2014-03-27','000-00',854,'Test',23)

select 
	VOUCH_CODE,
	VOUCH_DATE,
	VOUCH_NUM,
	AMT,
	ACT_NAME,
	QTY 
	from
	(
	select 
	VOUCH_CODE,
	VOUCH_DATE,
	VOUCH_NUM,
	AMT,
	ACT_NAME,
	QTY 
	from 
	SL_HEAD
	union all
	select max(VOUCH_CODE)+1 as VOUCH_CODE,	
	max(VOUCH_DATE) as VOUCH_DATE,
	max(VOUCH_NUM) as VOUCH_NUM,
	sum(AMT) as AMT,
	max(ACT_NAME) as VOUCH_NUM,
	sum(QTY) as QTY
	from 
	SL_HEAD
	group by 
	VOUCH_DATE
	) q
	order by VOUCH_DATE,vouch_CODE



The Final out put will be like this

1 2014-03-26 000-00 200 Test 26
2 2014-03-26 000-00 240 Test 16
3 2014-03-26 000-00 440 Test 42
3 2014-03-27 000-00 100 Test 89
4 2014-03-27 000-00 125 Test 34
5 2014-03-27 000-00 195 Test 76
6 2014-03-27 000-00 854 Test 23
7 2014-03-27 000-00 1274 Test 222


这篇关于在数据发生变化时显示网格中的每日销售总额的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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