如何根据数据库中的信息在 asp.net coolgrid 中给出我的箭头方向和箭头颜色?
Posted
技术标签:
【中文标题】如何根据数据库中的信息在 asp.net coolgrid 中给出我的箭头方向和箭头颜色?【英文标题】:How can I give my arrow direction and arrow color in asp.net coolgrid based on information from database? 【发布时间】:2015-02-02 02:04:08 【问题描述】:在数据库字段“OverallStatusCd”中给出箭头颜色,在数据库字段“OverallTrendCd”中给出箭头背景颜色。 Css 是为箭头和背景颜色编写的。 我们可以使用下面的代码通过改变'up'、'down'、'right'、'left'来访问这些东西,并且通过改变'green'、'red'来改变颜色
span id="sptrend" runat="server" class="arrow arrow-up-icon arrowgreen">/span
如何根据数据库中的信息动态使用它? “OverallTrendCd”为 RED 提供“R”,为 YELLOW 提供“Y” “OverallStatusCd”给出的值是“Up”、“Down”等......
请帮帮我#Brelian
Krasimir, #Antony
【问题讨论】:
你如何决定箭头方向和背景颜色? (哪些值映射到 db 中的方向和颜色?)您使用什么语言? C#,VB? 来自数据库字段“OverallStatusCd”的箭头方向。来自数据库字段“OverallTrendCd”的背景颜色。我使用 C# 语言 【参考方案1】:试试:
<span id="sptrend" runat="server" class='<%# String.Format(("01"), Eval("OverallStatusCdClass"), Eval("OverallTrendCdClass "))%>'></span>
如果您必须包含 'arrow
' 或除硬编码的数据库之外的任何其他字符串,那么您可以将 String.Format(("01"),
更改为 String.Format(("arrow 01")
注意:我假设您的跨度在数据绑定控件中..
SELECT OverallStatusCd, OverallTrendCd,
CASE WHEN OverallStatusCd = 'Up' THEN 'up'
WHEN OverallStatusCd = '.Down' THEN 'down'
END AS OverallStatusCdClass ,
CASE WHEN OverallTrendCd = 'R' THEN 'red'
WHEN OverallTrendCd = 'Y' THEN 'yellow'
END AS OverallTrendCdClass
FROM YourTable
对于 SqlDataSource,它将类似于 aspx 页面中的内容(以帮助您将脑海中的事物联系起来扩展我的答案):
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<span id="sptrend" runat="server" class='<%# String.Format(("01"), Eval("OverallStatusCdClass"), Eval("OverallTrendCdClass "))%>'></span>
</ItemTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DefaultConnection %>" SelectCommand="SELECT OverallStatusCd, OverallTrendCd,
CASE WHEN OverallStatusCd = 'Up' THEN 'up'
WHEN OverallStatusCd = '.Down' THEN 'down'
END AS OverallStatusCdClass ,
CASE WHEN OverallTrendCd = 'R' THEN 'red'
WHEN OverallTrendCd = 'Y' THEN 'yellow'
END AS OverallTrendCdClass
FROM YourTable">
</asp:SqlDataSource>
【讨论】:
谢谢#wooer ..... 在 DB 中,颜色为 R 表示红色,Y 表示黄色。但在代码中我需要红色、黄色等...在 DB 方向上给出为上、下...但我需要它作为“上”、“下”..等等...这怎么可能? 这就是我在上述评论中提出的问题。然后,如果您提供选择语句,则需要更改数据源中的 SQL 语句,我可以为您提供更好的答案.. #Wooer.. 我不应该更改 SQL 语句.. 在不更改数据库的情况下,还有其他解决方案吗..? 查看我对您的 select 语句的更新,这不会改变您的数据库,您只需将上述 Case 语句添加到您的 select 语句(并相应地进行所需的更改)并保留其他任何内容。 . 试试看.. 会好的.. 非常感谢 Wooer,但是如果我问的是一个愚蠢的问题,我很抱歉.. 你告诉的 select 语句在 sql server 中,对吧...?我可以获得可以在 aspx 页面或 aspx.cs 页面上应用的解决方案吗以上是关于如何根据数据库中的信息在 asp.net coolgrid 中给出我的箭头方向和箭头颜色?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ASP.NET C# 中检索程序集信息窗口的文件版本 [重复]