首页 > 其他分享 >TBookMark(书签)

TBookMark(书签)

时间:2022-12-17 23:33:45浏览次数:52  
标签:TBookMark dbgrd1 Items 书签 Width rightid Columns

书签
  书签的作用是在数据集的某个位置做一个标记,以后可以快速方便地回到那个位置。TDataSet中提供了若干个属性和方法用于管理书签。
  如果读Bookmark属性,返回当前记录的书签。如果写Bookmark属性,它能使一个指定的书签成为当前书签。
  TDataSet中有关书签的几个函数都是虚拟的,TDataSet的派生类TBDEDataSet重新定义了这些方法,包括:
.BookmarkValid判断某个书签是否合法;
.CompareBookmarks比较两个书签是否相同;
.GetBookmark创建一个书签来标记当前记录;
.GotoBookmark回到用GetBookmark标记的位置;
.FreeBookmark删除一个书签。
  要创建一个书签,首先要声明一个TBookmark类型的变量,然后调用GetBookmark函数创建一个标记当前记录的书签。TBookmark类型的变量实际上是一个无类型的指针。
  在调用GotoBookmark之前,最好先调用BookmarkValid判断书签是否合法,因为书签标记的记录有可能已删掉。如果BookmarkValid返回True,说明书签是合法的,可以调用GotoBookmark跳转到书签标记的位置。
可以调用CompareBookmarks比较两个书签是否相同,如果两个书签不同,这个函数就返回1。如果两个书签相同或者都是NIL,这个函数就返回0。
  GotoBookmark需要传递一个参数,即书签。
  FreeBookmark用于删除一个书签。当一个书签已用不到时,应当及时删除它,因为书签也是一种资源。

选择dbgridgh 选中几个(放一个鼠标右键事件)

选中所需数据,点击事件,下一页就显示所需数据

//鼠标右键事件

procedure TFromCopyRightWH.N2Click(Sender: TObject);
var rightid : string;
    i : Integer;
    tempBookMark: TBookMark;
begin
      with   dbgrdh1.DataSource.DataSet   do
      begin
        for i:=0 to dbgrdh1.SelectedRows.Count-1   do
        begin
           dbgrdh1.DataSource.DataSet.Bookmark:=dbgrdh1.SelectedRows.Items[i];
           tempBookMark:=dbgrdh1.DataSource.DataSet.GetBookmark;
           GotoBookmark(pointer(dbgrdh1.SelectedRows.Items[i]));
           rightid :=rightid+ dbgrdh1.DataSource.DataSet.fieldbyname('rightid').AsString+',';
        end;
       end;
       Delete(rightid,Length(rightid),1);
       FormCopyRightHB.SetValue(rightid);
       dbgrdh1.Datasource.Dataset.GotoBookmark(tempBookMark);
       FormCopyRightHB.ShowModal();
end;

//显示页赋值方法

procedure TFormCopyRightHB.SetValue( rightid : string);
begin
rightidHB:=rightid;
with DM.qry_SelectHB do
begin
    Close;
    sql.clear;
    SQL.Add('SELECT rightid as 序号,JMName as 节目名称, Publish as 出品方, Director as 导演,Actor as 主演,');
    sql.Add('JMType,(select JMTypeName from T_JMType where id =JMType)as 节目类型,');
    SQL.Add('Publishyears as 出品年代, MadeIn,(SELECT MadeInName FROM T_MadeIn WHERE Id = madein )as 产地, Version as 版本,volume as 总集数,rightid,checked FROM T_CopyRight ');
    SQL.Add('where rightid in( '+rightid+' )');
    Open;
    end;
    dbgrd1.DataSource:=DM.ds_SelectHB;

dbgrd1.Columns.Items[0].Width:=30;
dbgrd1.Columns.Items[1].Width:=70;
dbgrd1.Columns.Items[2].Width:=100;
dbgrd1.Columns.Items[3].Width:=100;
dbgrd1.Columns.Items[4].Width:=100;
dbgrd1.Columns.Items[5].Width:=70;
dbgrd1.Columns.Items[6].Width:=70;
dbgrd1.Columns.Items[7].Width:=70;
dbgrd1.Columns.Items[8].Width:=70;
end;

标签:TBookMark,dbgrd1,Items,书签,Width,rightid,Columns
From: https://www.cnblogs.com/xionda/p/16989837.html

相关文章

  • chrome 浏览器手动同步更新书签数据备份
    现在很多人会使用浏览器自带的同步工具,这样即使换了电脑,对于这个浏览器来说,与没换电脑一样,这就是同步的作用。chrome浏览器,只要有网络,只要登录了账号是自动同步的,所......
  • powerbi 书签导航器
    书签导航器之图表切换:书签导航器大概用到3块功能一、选择模块   <视图→选择>可以对视觉对象进行分组整理;图像和表格重叠起来  1.对图形部分建立分组(图......
  • python:修改pdf的书签
    我觉得修改pdf书签总体来说最方便的方式就是:导出pdf书签为文本文件,修改书签文本文件后再导入到pdf中。1.直接修改pdf书签python中比较好用的pdf处理的......
  • OpenSSL生成并使用CA根证书签名Keytool生成的证书请求
    1,生成私钥[带密码][root@node00security]#opensslgenrsa[-des3]-outca.key2048GeneratingRSAprivatekey,2048bitlongmodulus..................................
  • word中的书签功能、交叉引用功能
    例如:Definition1Definition2Definition3Definition4 首先:选中Definition1,插入-标签,输入标签名def1,点击添加选中Definition2,插入-标签,输入标签名def2,点击添加选......
  • C Primer Plus 第六版[带书签] PDF 电子书
    内容简介CPrimerPlus详细讲解了C语言的基本概念和编程技巧。CPrimerPlus共17章。第1、2章介绍了C语言编程的预备知识。第3~15章详细讲解了C语言的相关知识,包括......
  • 给adobe reader 添加书签功能
    Pleasereferto HowtoBookmarkPagesinaPDFDocumentinAdobeReader个人喜欢两种方法:1.打开恢复上次阅读功能。Edit>Preferences->Documents->Restorela......
  • 免费分享一个CT Log查询工具,查询SSL证书签发记录
    根据百度搜索查询到,很多人是通过企业网站域名,点击地址栏的安全锁查看SSL证书的详细信息。但是如果我们不知道域名怎么去查询企业使用的SSL证书呢?最近发现了一个相当不错的......
  • 分享4款网页书签管理工具,帮你轻松整理收藏夹
    很多人在平时浏览网页的时候,会收藏一些网址作为书签,这样能够方便我们下次阅读。但是,随着时间的增长,收藏的书签越来越多,收藏夹变得越来越乱。这时候我们需要借助浏览器的书......
  • 10/4 我的浏览器书签被篡改了
      改成了这样,然后一打开浏览器直接打开dy的网页我打开了火绒,感觉是否能找到点解决办法?我开启了联网控制,除了发现联想电脑管家总请求,也没发现啥昨天我下载了visuals......