在我的软件中,我使用标准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;
这是问题所在。
我需要这个常见的任务,我不想每次都在代码中执行此操作,扫描这样的数据行。
所以我想创建一个这个组件的数据感知版本。
我怎样才能做到这一点?
我知道存在一些商业成分,但我想学会自己做。
答案 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?。