如何创建数据感知TCheckListBox?

时间:2013-09-25 13:48:11

标签: delphi pascal

在我的软件中,我使用标准TCheckListBox使其在应用程序代码中具有数据感知能力。

它正在发挥作用。当我想保存时,我使用这段代码:

for i := 0 to clbGrp.Items.Count-1 do
begin
  if clbGrp.Checked[i] then grp:=grp+'1' else grp:=grp+'0';
end;

i : smallint;grp: string

当我想要显示表单时,我使用它:

var i:smallint;
begin
  for i := 0 to clbGrp.Items.Count-1 do clbGrp.Checked[i]:=False;
     for i := 0 to clbGrp.Items.Count-1 do
      begin
        clbGrp.Checked[i]:=StrToBool(Dm.TblFytFytGrup.AsString[i+1]);
      end;

这是问题所在。

我需要这个常见的任务,我不想每次都在代码中执行此操作,扫描这样的数据行。

所以我想创建一个这个组件的数据感知版本。

我怎样才能做到这一点?

我知道存在一些商业成分,但我想学会自己做。

2 个答案:

答案 0 :(得分:4)

您可以使用此组件http://www.delphipages.com/records.cfm?kw=tdbchecklistbox或开始创建自己的组件 - 这是一个非常好的教程,如何执行http://www.delphidabbler.com/tips/194

答案 1 :(得分:1)

  

我知道存在一些商业成分,但我想学会自己做。

然后看一下处理多记录数据集的Is there a data-aware tab control available?