如何使用存储过程计算圆的最小宽度

时间:2013-09-13 15:08:38

标签: c# jquery asp.net sql

我试图在泡泡中显示结果的百分比。

我已经使用下面的存储过程为数据列表中绑定的div设置css样式(宽度,高度,字体大小以显示为气泡)。

Select 
    *,
    'width: '+cast(@maxWidth*(CountItemPercentage/100) as varchar(max)) +'px; height: '+cast(@maxWidth*(CountItemPercentage/100) as varchar(max)) +'px; font-size: '+cast(@maxWidth*((CountItemPercentage/100)/5) as varchar(max)) +'px;' as CSSStyle
from 
    @temp

我已将最大宽度设置为300px。

现在我的问题是,如果百分比低于10%,泡沫太小而无法看到。如何使用存储过程为div设置最小宽度以使其清晰可见?

提前致谢

1 个答案:

答案 0 :(得分:0)

我不知道为什么你会这样做,但我相信每个客户/项目都有自己的需求。除此之外,你可以使用这样的CASE语句:

--Set the minimum width percentage DECLARE @MinWidthPercentage as int; set @MinWidthPercentage = 10;

SELECT (CASE
    WHEN CountItemPercentage < @MinWidthPercentage THEN 'width: ' + cast(@maxWidth*(MinWidthPercentage /100) as varchar(max)) + 'px; height: ' + cast(@maxWidth*(MinWidthPercentage /100) as varchar(max))
+ 'px; font-size: ' + cast(@maxWidth*((MinWidthPercentage /100)/5) as varchar(max)) +'px;'
    ELSE 'width: '+cast(@maxWidth*(CountItemPercentage/100) as varchar(max)) +'px; height: '+cast(@maxWidth*(CountItemPercentage/100) as varchar(max)) +'px; font-size: '+cast(@maxWidth*((CountItemPercentage/100)/5) as varchar(max))
+'px;') AS CSSStyle  from @temp

或者您可以在开头使用if来设置@percentage变量并使用该变量而不是CountItemPercentage。