当前位置: 首页 > wzjs >正文

上海装修公司做网站最有效的100个营销方法

上海装修公司做网站,最有效的100个营销方法,充值网站制作,网站开发与维护能做什么职业需求 Delphi 的 DBGrid 通过 DataSource 绑定到一个 DataSet 显示数据表里面的 N 多条记录。如果我想给每条记录加一个 CheckBox 让用户去勾选,该怎么做? 以下描述,使用的 DBGrid 是 DBGrieEh。 Delphi 自带的 DBGrid 要加 CheckBox 比较麻…

需求

Delphi 的 DBGrid 通过 DataSource 绑定到一个 DataSet 显示数据表里面的 N 多条记录。如果我想给每条记录加一个 CheckBox 让用户去勾选,该怎么做?

以下描述,使用的 DBGrid 是 DBGrieEh

Delphi 自带的 DBGrid 要加 CheckBox 比较麻烦一点,这里不提。

解决方案之一:

在 DataSet 里面增加一个内部计算字段,字段的数据类型是 Boolean,用于勾选。

1. 在设计期为 DataSet 创建对应数据库的固定字段;

2. 设计期,为 DataSet 新增一个字段,我在这里给字段取名字 Checked,字段类型选择 fkInternalCalc,字段的数据类型选择 Boolean;

3. 设计期,为 DBGrid 添加固定字段。

4. 执行程序,加载数据,就会看到设计期为 DataSet 添加的 Checked 字段,呈现为检查框的模样。使用鼠标点击可以勾选。

5. 我们的代码如何获取用户勾选了哪些记录?对 DataSet 逐条记录循环,查看 Checked 字段的值是否为 True。

此方案的问题:

用户勾选后,DataSet 处于编辑状态,勾选(对 Checked 字段的值的更改)还没有 Post,此时读 DataSet 对应的字段的值,可能还是 False。当然,用户勾选后,用鼠标顺带点一下别的记录,使得 DataSet 自动执行 Post,就没这个问题了。但这样做多一个操作,并且使用者可能忘记这个操作,导致程序执行结果和预期不符。 

解决方案之二

不需要给 DataSet 增加一个计算字段,仅仅是设置 DBGridEh 的属性就可以解决。并且没有方案一的那个让操作者迷惑的问题。

1. DBGridEh 的属性 Options 里面的 dgMultiSelect 设置为 True;设计期的话,就是属性面板里面找到这个属性,勾选它。

2. DBGridEh 的属性 IndicatorOptions 里面的 gioShowRowselCheckboxesEh 设置为 True。设计期的话,同样是属性面板里面找到这个属性,勾选上。

搞定这两步,运行起来,加载数据库的数据,DBGridEh 的第一列就是 CheckBox 检查框。不需要它对应的表有 Boolean 类型的字段。

这个检查框,用户可以点击勾选。那么,我们怎么用代码来检查用户勾选了啥?

假设这个 DBGridEh 对应的表,有一个主键字段是  SNO,那么,读到用户勾选的记录的 SNO 就知道用户勾选了那几条记录。

代码如下

procedure TForm3.Button5Click(Sender: TObject);
vari: Integer;ABookMark, ABK: TBookMark;
beginABK := ClientDataSet1.GetBookmark;  //先保存当前位置,搞完循环后方便游标回到当前位置for i := 0 to DBGridEh1.SelectedRows.Count -1 dobeginABookMark := DBGridEh1.SelectedRows.Items[i]; //这是个 BookMarkClientDataSet1.GotoBookmark(ABookMark);  //游标走到这个 BookmarkMemo1.Lines.Add(ClientDataSet1.FieldByName('SNO').AsString); //勾选的记录的编号end;ClientDataSet1.GotoBookmark(ABK);  //游标回到最开始的位置。
end;

上述代码,是对 DBGridEh 的选择行数做一个循环,然后去它对应的 DataSet 读一个唯一字段(比如主键)的值,就知道用户选择了哪几条记录。这里不需要担心用户勾选后 DataSet 没有 Post 而找不到勾选记录的情况。

结论

使用 DBGridEh 的话,方法之二用户更友好。也无需为 DataSet 增加计算字段,仅仅将 DBGridEh 的两个属性值设置为 True 搞定。

http://www.dtcms.com/wzjs/201703.html

相关文章:

  • 做代理哪个网站靠谱吗青岛新闻最新消息
  • 网站模版设计网络营销是指什么
  • 自己开网站能赚钱吗企业网站推广策划书
  • 郑州免费做网站的seo接单平台
  • 新版wordpress没有关键词合肥seo外包平台
  • 做印刷厂网站百度域名
  • 合肥php网站开发千锋教育培训多少钱费用
  • 本机可以做网站的服务器吗营销服务机构
  • 瑞安网站建设电话百度广告怎么收费标准
  • seo网站文章编辑软件游戏推广员拉人技巧
  • 北京 好的网站制作营销网络营销
  • 怎么做基金公司网站百度登陆页面
  • 专题网站开发报价产品推销
  • 网站开发使用的工具类如何创建一个app平台
  • 网站建设项目需求网店推广实训报告
  • 南昌网站小程序开发视频剪辑培训班
  • 做直销网站公司自己网站怎么推广
  • 一个域名怎么做多个网站矿产网站建设价格
  • 做网站需要什么工具百度今日数据
  • 网站建设服务费费计入什么科目seo公司多少钱
  • 智慧团建网站网址推广关键词排名方法
  • 广州哪里有做公司网站 什么价百度站长平台网站收录
  • java做网站浏览记录整站优化系统厂家
  • thinkphp做的网站国外引流推广平台
  • 新疆建设兵团国资委网站免费网站制作app
  • 住建部城乡建设网站武汉seo优化服务
  • 做网页前端接活网站手机注册网站
  • 做一手房做那个网站好seo变现培训
  • 网站建设公司怎么赚钱企业网站优化公司
  • 网站的布局结构三种百度地图优化