【问题标题】:Different Images in a gridview网格视图中的不同图像
【发布时间】:2010-10-03 12:30:47
【问题描述】:

我有一个与 ASP.NET 中的网格视图相关的问题

我有一个网格视图,我从 SQL 数据库中提取信息,它显示用户名和当前状态 IE;

  • 用户名 |状态
  • 用户1 |退出
  • 用户2 |已登录
  • 用户3 |休假中

所以这一切都很方便花花公子,但我想做的是显示状态文本,我想显示一个不同颜色的“子弹型”图像。红色、绿色、橙色、蓝色 - 代表不同的状态。

我是否需要以某种方式将这些图像放入数据库,或者我可以使用某种 IF 语句来说明,如果状态为“1 - 登录”然后显示“green.png”?

提前致谢

【问题讨论】:

    标签: asp.net sql gridview image


    【解决方案1】:

    尝试设置相应的CSS Class,然后设置CSS使用合适的Background Image。我认为你不能使用 BoundField,但你必须使用这样的 TemplateField:

    <asp:TemplateField>
        <ItemTemplate>
            <div class="StateBar State<%#eval("State") %>">&nbsp;</div>
        </ItemTemplate>
    </asp:TemplateField>
    

    然后有一个这样的 CSS:

    .StateBar{
    display:block;
    width:10px;
    height:10px;
    }
    
    .StateLoggedOut{
    background-image:url(/images/...);
    }
    

    提示:尝试让状态字段不带“”

    【讨论】:

    • +1 我们做类似的事情——你不必考虑 CSS——你可以有类似的东西:.png" alt="" />
    • 但是 css 会让它更易于维护。我建议使用其中包含文本的跨度,并使用 css 将其隐藏以使其更易于访问。
    • 寻找可访问的图像替换,看看它是如何完成的。
    【解决方案2】:

    你有两种方法来实现这一点:

    1 - 修改您的查询,以便图像 url 直接出现在列中 2 - 在网格结构上进行图像选择。

    无论哪种方式,您都必须创建一个包含图像的模板列。

    您需要这方面的帮助吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      • 2015-08-23
      • 1970-01-01
      • 1970-01-01
      • 2020-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多