zoukankan      html  css  js  c++  java
  • DataGrid实现动态数字图形效果

      本文将介绍如何在DataGrid(其他绑定控件)里面用图形表是一个数字,听起来有点玄,可能涉及啥图像编程,其实俺就是兜了圈子,耍了点小聪明实现之,在此献丑了,如果你用在项目中,客户认为你很cool的,是个亮点哦,哈哈。

           首先为了实现这个功能我们需要一个DataGrid,并且为这个DataGrid邦定数据,具体的前台绑定代码如下(后台不再赘述)。

           画一个DataGrid在HTML里面,代码就像下面的一样,我使用了一个测试的数据库和一个测试的表名字都叫test,同时这个test表里面有name,score 2个字段:

       <asp:DataGrid id="DataGrid1" runat="server" Width="100%" AutoGenerateColumns="False">
         <Columns>
          <asp:BoundColumn DataField="name" HeaderText="名称"></asp:BoundColumn>
          <asp:TemplateColumn HeaderText="数字的图形表示">
           <ItemTemplate>
            <asp:Label id="Label1" runat="server"></asp:Label>
           </ItemTemplate>
          </asp:TemplateColumn>
          <asp:BoundColumn DataField="score" HeaderText="数字表示"></asp:BoundColumn>
         </Columns>
        </asp:DataGrid>

          正如你看到的,我们使用了一个模版列来显示数据,它只是一个Label而不是Image,其他两个是绑定字段,c就是我们要显示的数字了。

         
          非常简单。因为我不喜欢将数据邦定代码写在HTML里面所以我使用了ItemDataBound事件来完成这件事情。其中你千万不要尝试给lable定义宽度,因为我就是为了这个绕了很大的圈子,它是个什么Uint型的,转换很烦,如果只是转换Int型还凑合,如果是Double型就不行了,如果尝试之后不行,请用我这个"投机取巧"之作,在此献丑,代码如下:

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) {
       if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){
        Label lbl = (Label)e.Item.Cells[1].FindControl("Label1");
        lbl.Text = "<HR align='left' color='blue' size='10' width='"+e.Item.Cells[2].Text+"'>";
       }
      }

    不吝赐教.

  • 相关阅读:
    HDUOJ 1397(素数筛选法)
    HDUOJ 2045 LELE的RPG难题
    HDUOJ 2018
    HDUOJ 2031
    HDUOJ 2050
    括号配对问题
    HDOJ 1102 Constructing Roads(最小生成树)
    HDOJ Prime Ring Problem (深度优先搜索)
    HDUOJ 1233 还是畅通工程(最小生成树基础)
    邻接表(转)
  • 原文地址:https://www.cnblogs.com/skylaugh/p/688402.html
Copyright © 2011-2022 走看看