要写一个公共的查询界面,查询之后,用TClientDataSet来呈现数据,链接wwDBGrid。
因为是公用,字段不固定,所以都是动态写法,但是数据库的BIT类型,呈现出来都是TRUE跟FALSE
。
如果是实体列还能手动在Selected字段中添加Control Type。选择CheckBox
个人尝试代码如下,用CheckBoxField来传递是否为BIT类型的,结果还是不行。
procedure TFrm_PUB_PubQry.SetTitleDspWidth;//设置标题显示宽度
var
i:integer;
begin
qry_grid.Selected.Clear;
qry_grid.ControlType.Clear;
with sysdb.C_Qry_PubTbl do
begin
for i:=0 to fieldcount -1 do
begin
qry_grid.Selected.Add(fields[i].fieldname);
end;
for i:=1 to FieldCount do //按平均方式显示
qry_grid.ColWidths[i] :=round((qry_grid.Width)/FieldCount);
end;
if CheckBoxField<>'' then
begin
qry_grid.ControlType.Add(CheckBoxField+';CheckBox;true;false');
end;
end;
但是动态不知道怎么实现,请求大神指点
只有60分。。。。