首页 | 新闻资讯 | 软件应用 | 图形图像 | 网络应用 | 硬件学堂 | 程序开发 | 安全中心 | 素材下载 | 作者专区 | 学院论坛
精选专题 | 精美壁纸 | 专家答疑 | Flash剧场 | Photoshop | 名词解释 | 梦幻桌面 | PS高手进阶 | QQ区 | 图书 | 黑客教材
Flash教程| 卡通制作 | AutoCAD | 3DMax实例 | PS视频教程| 网页制作 | CorelDRAW| Firework | 滤镜与实例 | 全部视频教程
当前位置:eNet硅谷动力 > 学院频道 > VB

教你在VB中操作 DataGrid 视图
2004-02-13 19:06 来源:eNet论坛
    
加入收藏  设为首页

  一个“拆分”的网格使最终用户对相同的数据可以拥有多个视图。例如,假设有一个由十个字段组成的大表。在这种情况下,在控件中察看的记录集将有十列宽,除非窗体非常宽,否则用户将无法同时看见所有列的内容。更进一步,假设用户只对第一列和最后一列感兴趣(例如,第一列是名字,最后一列是电话号码)。为了能同时看到在两端的列(不重新安排列的顺序),可以对网格进行拆分。  

  创建一个 Split 对象

  在设计时,可以创建一个拆分,具体步骤是:右键单击网格,单击“编辑”,再单击右键,然后单击“拆分”。通过右键单击该控件,并单击“属性”来显示“属性页”对话框,可以编辑这个拆分。可以使用“拆分”选项卡来自定义拆分。要删除一个拆分,右键单击该拆分,并单击“删除”。

  在运行时,最终用户也可以通过单击位于这个网格控件的左下边的右边的选项卡,以手工方式来拆分该网格(除非不允许这个操作),如下图所示:  

  默认情况下,DataGrid 控件包含一个 Split 对象。防止最终用户添加拆分的代码为:  

  DataGrid1.Splits(0).AllowSizing = False  

  在程序中添加和删除拆分

  DataGrid 控件包含一个 Split 对象的集合。要在程序中添加拆分,可以使用 Add 方法,如下所示:

  DataGrid1.Splits.Add 1   

  注意 Add 方法需要新的拆分索引作为其参数。要添加一个拆分,应将这个索引参数设置为 Splits 集合的 Count 属性值。  

  使用 Split 集合的 Add 方法,可以在程序中按照所实际需要添加拆分。由于添加多于两个以上的拆分将使网格很难使用,可以使用该集合的 Count 属性来限制拆分的数目。 

  If DataGrid1.Splits.Count < 3 Then ' 添加一个拆分。

  DataGrid1.Splits.Add DataGrid1.Splits.Count

  End If  

  使拆分同步

  当拆分多于一个时,可能希望控制这些拆分如何滚动。例如,在一个具有三个拆分的网格中,可以决定只让第一个和第三个拆分同步,而让中间的拆分独立地滚动。要同步任何两个(或多个)拆分,只需将每个 Split 对象的 ScrollGroup 属性设置为同一个值。  

  ' 使第一个和第三个 Split 对象同步。

  With DataGrid1

  .Splits(0).ScrollGroup = 1

  .Splits(1).ScrollGroup = 2

  .Splits(2).ScrollGroup = 1

  End With  

  通过设置 Scrollbars 属性,使同步的拆分组只显示一个滚卷条,从而进一步自定义拆分的外观。 

  控制 Tab 键和箭头键的行为

  使用 WrapCellPointer、TabAcrossSplits、以及 TabAction 属性,可以决定当最终用户按下 tab 键或箭头键时网格的行为。

    

    在这三个属性中,TabAction 属性级别最高,它决定 WrapCellPointer 和 TabAcrossSplits 这两个属性是否能生效。TabAction 有三个设置值: Control Navigation、Column Navigation 和 Grid Navigation。当该属性设置为 Control Navigation 时,按 tab 键将根据 TabIndex 将焦点切换到下一个控件。这一设置优先于 WrapCellPointer 和 TabAcrossSplits。

  WrapCellPointer 属性决定在任何单个的拆分中 tab 键和箭头键的行为。如果该属性设置为 True,且当前单元位于最后一列,这时最终用户按 tab 键则使第一列的下一行变成当前的单元。不过,如果当前单元位于最后一行的最后一列时,这时就没有地方可以“换行”。  

  TabAcrossSplits 属性决定当网格中存在两个或多个拆分时 tab 和箭头键的行为。如果该属性设置为 True,且当前单元位于任何一个拆分的最后一列,则按 tab 或箭头键将使当前单元“跳” 到下一个拆分的第一列。当前单元仍保持相同的行位置。  

  注意 如果 WrapCellPointer 和 TabAcrossSplits 属性都设置为 True,则只有当前单元位于最后一个拆分的最后一列时才会换行。这时当前单元将换到第一个拆分的第一列中的下一行。  

  自定义列集合

  每一个 Split 对象都有一个 Columns 属性,允许用户来操作一个 Column 对象的集合。通过这样做,可以更改每个 Split 对象的外观。例如,可以用一个拆分包含显示姓氏字段和名字字段的两个列,而第二个拆分则显示电话字段和地址字段。要实现这一目标,需要将其它的每一列的 Visible 属性设置为 False,如下所示:  

  ' 枚举 Columns 集合,对每一个 Column 对象的 DataField 属性

  ' 进行测试。如果测试失败,则隐藏这一列。

  Dim i As Integer  

  ' 隐藏除 ProductName 列之外的所有列。

  For i = 0 To DataGrid1.Splits(0).Columns.Count - 1

  If DataGrid1.Splits(0).Columns(i).DataField <> "ProductName" Then

  DataGrid1.Splits(0).Columns(i).Visible = False

  End If

  Next i  

  ' 隐藏除 UnitPrice 列之外的所有列。

  For i = 0 To DataGrid1.Splits(0).Columns.Count - 1

  If DataGrid1.Splits(1).Columns(i).DataField <> "UnitPrice" Then

  DataGrid1.Splits(1).Columns(i).Visible = False

  End If

  Next I


关键字:  
您对这篇文章的看法是:    喜欢 反感 支持 反对 加油 鄙视 学习 打击 佩服 漂亮 路过 发表评论
视频教程】 【专题汇总】 【不懂就问我关闭窗口

Photoshop可爱的卡通嬉儿动画教程
千里之外 在公司控制家里的BT下载
插画也时尚“恶魔以上 天使未满”
解决ARP欺骗导致小区用户无法上网
快车 FlashGet V2.4 简体中文版
 本栏目最新文章
·编写电话拨号程序时一点小技巧
·VB开发应用软件之写在动手之前
·用VB实现“木马”式隐形运行程序
·怎样实现在VB窗体中有Html页面
·用VB编程实现图像的熠熠生辉效果
 精彩回放
·3DSMAX打造书本翻开效果
·共享上网技巧应用四则
·陪酒女浸泡在酒里的青春
·美女的性感靓丽婚纱设计
·妖冶身姿 死或生3壁纸
·剿灭Win XP下的29个烦恼
·黑客必备 NET命令大全
·用PS制作精致绝伦的红酒
 精彩推荐
 今日软件下载
汇聚精彩 清晰流畅
NETiTV
网络电视王中王
 往日推荐
·手工破解网吧多种限制
·Windows 网络管理技巧
·WMP 10使用技巧三则
·女孩问你帅不帅 要小心
·注册表优化XP 20招
·制作XP万能ghost光盘
·WMP10火拼DVD播放器
·街头霸王图片集中营
·五大搜索引擎横向评测
·防御计算机病毒十大步骤

论坛精华
·PhotoShop实例精选电 
·PS初学者十三课,献给 
·photoshop完美扣图教 
·史上最强最多 photo 
·眼泪、五官、闪电、 
·网络学院flash教程目 
热点推荐
修复灰暗照片
浪漫婚纱照片
Flash视频编程
章子怡月历桌面
热点关注
·网站开发全程设计视频教程
·Photoshop CS3平面广告设计
·C++从入门到精通视频教程
·SQL Server2005视频教程
·2008年度网络电视大盘点
·计算机等级考试二级VB上机
·Pisaca照片管理软件教程
·瑞星杀毒30元轻松用全年
·瑞星卡卡上网助手 正版免费
有女如莲 Photoshop手绘古典美女
往日推荐
网站重构设计
鹏哥C#教程
美女怀旧照片
网站开发
焦点关注