asp.net Repeater 怎样将一行中的数值字段相加与判断?
数据表table1字段为id,sb1,sb2如,表格希望显示效果如下序号成本1成本2小计112050170201200我知道sql可以直接将两个字段相加,但我不希望能过s...
数据表table1字段为
id , sb1, sb2
如,表格希望显示效果如下
序号 成本1 成本2 小计
1 120 50 170
2 0 120 0
我知道sql可以直接将两个字段相加,但我不希望能过 sql执行,而希望手工计算,
当成本中一项为0时,小计就是0
这个应该怎么做? 展开
id , sb1, sb2
如,表格希望显示效果如下
序号 成本1 成本2 小计
1 120 50 170
2 0 120 0
我知道sql可以直接将两个字段相加,但我不希望能过 sql执行,而希望手工计算,
当成本中一项为0时,小计就是0
这个应该怎么做? 展开
4个回答
展开全部
很简单,这个功能只需要在后台定义一个public方法即可。
如在页面后台.cs中,定义:
public int getCount(int x, int y)
{
if(x!=0 && y != 0)
return x+y;
else
return 0;
}
前台:模板列中,在小计处,<%#getCount(Eval("成本1"),Eval("成本2"))%>
如在页面后台.cs中,定义:
public int getCount(int x, int y)
{
if(x!=0 && y != 0)
return x+y;
else
return 0;
}
前台:模板列中,在小计处,<%#getCount(Eval("成本1"),Eval("成本2"))%>
追问
如直接用 可以正常,但一但用了Eval("成本1"),Eval("成本2")
出错显示:
编译器错误消息: CS1502: 与“Chia_ys.getCount(int, int)”最匹配的重载方法具有一些无效参数
追答
那是你传的是字符值不是数字,转个码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
出错显示:
编译器错误消息: CS1502: 与“Chia_ys.getCount(int, int)”最匹配的重载方法具有一些无效参数
你试试getCount(Convert.toInt32(Eval("成本1"),Convert.toInt32(Eval("成本2"))。
编译器错误消息: CS1502: 与“Chia_ys.getCount(int, int)”最匹配的重载方法具有一些无效参数
你试试getCount(Convert.toInt32(Eval("成本1"),Convert.toInt32(Eval("成本2"))。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
后台写个方法做判断
private int sum(int c1,int c2)
{
int result=0;
if(c1==0||c2==0)
{
result=0;
}
else
{
result=c1+c2;
}
return result;
}
前台在小计的地方写上
<%# sum(Eval("成本1"),Eval("成本2"))%>
这样数值就可以任意在后台计算操作了
private int sum(int c1,int c2)
{
int result=0;
if(c1==0||c2==0)
{
result=0;
}
else
{
result=c1+c2;
}
return result;
}
前台在小计的地方写上
<%# sum(Eval("成本1"),Eval("成本2"))%>
这样数值就可以任意在后台计算操作了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
后台:
驱车数据库数据sb1,sb2
int i=sb1+sb2;
前台绑定小计处:<%=i%>;
驱车数据库数据sb1,sb2
int i=sb1+sb2;
前台绑定小计处:<%=i%>;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询