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 @   kevinLee  阅读(475)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示