zoukankan      html  css  js  c++  java
  • Visual 数据绑定

    平常,我们可以用多种方式实现同一件事,但你所实现的方法可能是容易的,也有可能比较麻烦。这里所说的容易同麻烦指的是你写的代码量。容易的方式可能的VS中“拖拖拽拽”就可以了。拿个“列表显示柱状图”的小例子说下吧,也许大家有更好的方法实现,不防交流下,共同进步。

       为了大家更直观的这次所实现的功能,先将实现的结果贴出来,如图:

     看到图形列里蓝黄条了吗,下面开始说下如何实现。

    注意:在看本篇内容时,作者认为读者已会VS中数据绑定等基本操作。

     读取表数据,并显示出来,如下:

    完成上述操作后,我们开始添加模板列,并托进两个Panel,如图:

    编辑模板,选中模板里的Panel2控件,点击编辑DataBindings”

    点击后,弹出”Panel2 databindings”对话框,勾选“显示所有属性”,下拉“可绑定属性”,选择“width”,点击右侧“字段绑定”,选择相应的表字段,如图:

    Panel1同上操作,一切设置好了后,不要着急,还得在源码进行转换,如下

    Width='<%# (int)Eval("Ratio_1") %>'>            

    Width='<%# Unit.Pixel((int)Eval("Ratio_2")) %>'   

    Int 或unit都可

    表结构

     

    代码
    USE [Demo]
    GO
    /****** 对象:  Table [dbo].[Table1]    脚本日期: 05/18/2010 22:03:53 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[Table1](
        
    [ID] [int] IDENTITY(1,1NOT NULL,
        
    [CustomerName] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
        
    [Ratio_1] [int] NOT NULL CONSTRAINT [DF_Table1_Ratio_1]  DEFAULT ((0)),
        
    [Ratio_2] [int] NOT NULL CONSTRAINT [DF_Table1_Ratio_2]  DEFAULT ((0))
    ON [PRIMARY]

    GO
    SET ANSI_PADDING OFF
    代码
    insert into dbo.Table1(CustomerName, Ratio_1, Ratio_2)
    values('Bob',55,45)

    insert into dbo.Table1(CustomerName, Ratio_1, Ratio_2)
    values('kevin',100,67)

    insert into dbo.Table1(CustomerName, Ratio_1, Ratio_2)
    values('zhangsan',67,76)

    源码下载/Files/kevinlzf/WebGridTest.7z

  • 相关阅读:
    Apache Cassandra 4.0新特性介绍
    NoSQLBench压测工具入门教程
    赵洋:深入了解Materialized View
    PHP与ECMAScript_1_变量与常量
    HTTP_5_通信数据转发程序:代理、网关、隧道
    HTTP_4_返回结果的HTTP状态码
    HTTP_3_HTTP报文
    HTTP_2_HTTP协议概要
    HTTP_1_Web及网络基础
    一个完整的产品设计流程——家庭安全管家
  • 原文地址:https://www.cnblogs.com/kevinlzf/p/1738662.html
Copyright © 2011-2022 走看看