dxDBGrid是Dev Express 控件库里优秀的表格显示控件,并可搭配 dxComponetPrinter 全自动生成报表供打印。
dxDBGrid对固定字段的表显示起来是很方便的,可以设置表格样式,多选,任意字段排序,筛选。但是对于不定字段数的数据表,在设置时较难确定各字段的显示位置及方式等。
以下代码演示从数据库中取出表的内容,然后根据实际取得的字段构造dxDBGrid的显示内容。
procedure TForm1.btn1Click(Sender: TObject);
var
i:integer;
begin
qry1.SQL.Clear; //qry1为 TQuery 或 TADOQuery。下面的 dg 为 dxDBGrid控件
with qry1 do
begin
SQL.Add('select * from pb_emply'); //要执行的SQL语句
try
open;
dg.BeginUpdate; //设为更新状态,这样可以避免在字段数较多时,dxDBGrid显示闪烁的问题
dg.DestroyColumns; //清空以前的显示字段
for i:=0 to dg.DataSource.DataSet.FieldCount -1 do //逐项处理数据库返回的数据集
begin
with dg.CreateColumn(TdxDBGridMaskColumn) as TdxDBGridMaskColumn do //dxDBGrid添加字段。默认使用TdxDBGridMaskColumn类型。可以根据需要使用其他类型
begin
FieldName := dg.DataSource.DataSet.Fields[i].FieldName;//将新建出的字段绑定数据集里的字段
HeaderAlignment := taCenter; //设置对齐方式
Width := 90;
end;
end;
dg.KeyField :='devicesysid';//设置dxDBGrid的关键字段。一定要设,随便哪个字段名称都可以,否则不出数据
dg.EndUpdate; //更新状态结束
except
end;
end;
end;

被折叠的 条评论
为什么被折叠?



