我有一个ASPxGridview
(通常是21列,但我只是想要过程4列)。在DevExpress中计算ASPxGridview列
每列都有一个十进制值。 MV_EDDIE
列为空。
我想要的是,编程计算,MV_EDDIE
列是RISK_EUR - (IPOTEK + MV_BERND)
只在GroupSummary
和TotalSummary
。
例如; 如果
RISK_EUR = 100
IPOTEK = 40
MV_BERND = 50
然后MV_EDDIE
列应为100 - (40 + 50)= 10
我怎样才能做到这一点?
注意:我有一个Sql
这样
SELECT A.HESAP_NO, A.TEKLIF_NO1 || '/' || A.TEKLIF_NO2 AS TEKLIF,
A.MUS_K_ISIM, A.RISK,
(CASE WHEN A.DOVIZ_KOD = 21 THEN 'EUR' WHEN A.DOVIZ_KOD = 2 THEN 'USD' WHEN A.DOVIZ_KOD = 1 THEN 'TL' END) AS DOVIZ,
ROUND(KRISK_CV(A.TEKLIF_NO1, A.TEKLIF_NO2,A.DOVIZ_KOD,:TAR),2) AS RISK_EUR,
NVL(IPOTEK(A.HESAP_NO, :TAR),0) AS IPOTEK,
ROUND(SUM(M_V(A.TEKLIF_NO1, A.TEKLIF_NO2,:TAR)),2) AS MV_BERND,
ROUND(SUM(MV_EX(A.TEKLIF_NO1, A.TEKLIF_NO2,:TAR)),2) AS MV_EDDIE,
(CASE WHEN ROUND(SUM(MV_K(A.TEKLIF_NO1, A.TEKLIF_NO2,:TAR)),2) < 0 THEN
ROUND(SUM(MV_EX(A.TEKLIF_NO1, A.TEKLIF_NO2,:TAR)),2) ELSE
ROUND(SUM(MV_K(A.TEKLIF_NO1, A.TEKLIF_NO2,:TAR)),2) END) AS MV_KASKO,
B.TARIH, GGUNK(A.TEKLIF_NO1,A.TEKLIF_NO2,:TAR) AS GUN
FROM S_TEKLIF A, TMP_TAKIP B
WHERE A.HESAP_NO = B.HESAP
--AND A.HESAP_NO = 316
AND A.RISK > 0
GROUP BY B.TARIH, A.HESAP_NO, A.TEKLIF_NO1 || '/' || A.TEKLIF_NO2 ,
A.MUS_K_ISIM, GGUNK(A.TEKLIF_NO1,A.TEKLIF_NO2,:TAR),
A.RISK, A.DOVIZ_KOD,KRISK_CV(A.TEKLIF_NO1, A.TEKLIF_NO2,A.DOVIZ_KOD,:TAR)
ORDER BY 3
注2::我能解决这个问题,改变了我的SQL查询,但我不希望它。我的查询已经很复杂。我不想改变它。正因为如此,我想programmaticly解决它..
编辑:我想计算它只是GroupSummary
和TotalSummary
。不是其他行。
你是如何加载你的数据源的数据和你的数据源是什么类型?如果它是一个数据表,那么你可以使用列表达式,让我知道,我可以给你一个例子。 – 2011-05-09 05:37:14
@ TBohnen.jnr我加载* SqlDataSource *。 SqlDataSource中是否有列表达式? – 2011-05-09 05:46:26
在DataTable上有一个列表达式,对此非常适合,请快速查看一下,看看您是否可以在sqlDataSource上使用它 – 2011-05-09 06:10:42