[英]Calculating a ASPxGridview Column in DevExpress
I have a ASPxGridview
(Normally 21 column but i just want process 4 column). 我有一个
ASPxGridview
(通常21列,但我只想处理4列)。
Every column has a decimal value. 每列都有一个十进制值。
MV_EDDIE
column is empty. MV_EDDIE
空。
What i want is, calculating programmaticly , MV_EDDIE
columns is RISK_EUR - (IPOTEK + MV_BERND)
only in GroupSummary
and TotalSummary
. 我想要的是,通过编程计算,
MV_EDDIE
列仅在GroupSummary
和TotalSummary
是RISK_EUR - (IPOTEK + MV_BERND)
。
For example; 例如; If
如果
RISK_EUR = 100
IPOTEK = 40
MV_BERND = 50
Then MV_EDDIE
column should be 100 - (40 + 50) = 10 然后
MV_EDDIE
栏应为100-(40 + 50)= 10
How can i do that? 我怎样才能做到这一点?
NOTE : I have a Sql
like this 注意 :我有这样的一个
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
NOTE 2 : I can solve this problem changing my sql query, but i don't want it. 注2 :我可以解决此问题,更改我的sql查询,但我不想要它。 My query is complicated already.
我的查询已经很复杂。 I don't want change it.
我不想改变它。 Because of that, i want to solve it programmaticly ..
因此,我想以编程方式解决它..
EDIT : I want calculate it only GroupSummary
and TotalSummary
. 编辑 :我只计算
GroupSummary
和TotalSummary
。 Not other row. 没有其他行。
If anyone consider the answer i found it. 如果有人考虑答案,我找到了。
protected void ASPxGridView1_Init(object sender, EventArgs e)
{
GridViewDataTextColumn colTotal = new GridViewDataTextColumn();
colTotal.Caption = "Total";
colTotal.FieldName = "Total";
colTotal.UnboundType = DevExpress.Data.UnboundColumnType.Decimal;
colTotal.VisibleIndex = ASPxGridView1.VisibleColumns.Count;
colTotal.PropertiesTextEdit.DisplayFormatString = "n0";
ASPxGridView1.Columns.Add(colTotal);
}
protected void ASPxGridView1_CustomUnboundColumnData(object sender, ASPxGridViewColumnDataEventArgs e)
{
if (e.Column.FieldName == "Total")
{
decimal risk = Convert.ToDecimal(e.GetListSourceFieldValue("RISK"));
decimal mv = Convert.ToDecimal(e.GetListSourceFieldValue("MV_BERND"));
decimal ipotek = Convert.ToDecimal(e.GetListSourceFieldValue("IPOTEK"));
e.Value = risk - mv - ipotek;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.