如何在DataGrid里面使用动态图形表示数字

      本文将要简单的介绍如何在DataGrid里面用图形表是一个数字,听起来好象要用到GUI的编程,其实不然,如果你读完全文你就会发现其实很简单,只是一个“小把戏”而已,但是请不要失望,其实在实际的应用中这个“小把戏”就是你项目中的一个亮点。

       首先为了实现这个功能我们需要一个DataGrid,并且为这个DataGrid邦定数据,具体的邦定代码如下(由于我说明问题的重点不在如何邦定DataGrid所以我就是用了最原始的邦定方法,目的旨在说明主题)。

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

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

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

       OK,接下来我们看看,cs的部分,帮定代码如下:

SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
   SqlDataAdapter da = new SqlDataAdapter("select a,c from test",conn);
   DataSet ds = new DataSet();
   da.Fill(ds);
   this.DataGrid1.DataSource = ds.Tables[0];
   this.DataGrid1.DataBind();

      非常简单。因为我不喜欢将数据邦定代码写在HTML里面所以我使用了ItemDataBound事件来完成这件事情。具体的代码如下:

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+"'>";
   }
  }

     看上去是不是很简单?呵呵,希望你不会以为我在骗你,好了按照上面的步骤创建一个页面试一试吧,效果不错,我想通过他还可以实现其他很多有关数据的显示,比如:比例。不过这种比例的计算你最好在邦定之前处理好放到DataTable里面,这样邦定的代码将非常简单。运行的结果如下:

      好了!此文已完,祝大家工作顺利!

:P

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值