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

posted @ 2010-05-18 22:12  kevinLee  阅读(464)  评论(0编辑  收藏  举报