由于需要用户自定义每个字段的内容和位置,我是这样动态加入字段的;
但是我不知道如何才能确定字段的位置,TDBGrid有没有这样属性或者方法!望各位不吝赐教!(位置设定值保存在文件中!,如果是先判断位置的值,再加入的话,那就谢谢了!,除此之外还有没有其他的招数!thank you ! 5:00结账)
procedure TForm1.GridAddColumns(GridName: TDBGrid;ADOQuery:TADOQuery);
var
col:TColumn;
i:integer;
j:integer;
begin
with adoquery do
begin
for i:=0 to FieldCount-1 do
begin
col:=gridname.Columns.Add;
col.Title.Caption:=adoquery.FieldList.Fields[i].DisplayLabel;
col.Width:=adoquery.FieldList.Fields[i].DisplayWidth +50;
col.FieldName:=adoquery.FieldList.Fields[i].DisplayName ; end; end;
end;
但是我不知道如何才能确定字段的位置,TDBGrid有没有这样属性或者方法!望各位不吝赐教!(位置设定值保存在文件中!,如果是先判断位置的值,再加入的话,那就谢谢了!,除此之外还有没有其他的招数!thank you ! 5:00结账)
procedure TForm1.GridAddColumns(GridName: TDBGrid;ADOQuery:TADOQuery);
var
col:TColumn;
i:integer;
j:integer;
begin
with adoquery do
begin
for i:=0 to FieldCount-1 do
begin
col:=gridname.Columns.Add;
col.Title.Caption:=adoquery.FieldList.Fields[i].DisplayLabel;
col.Width:=adoquery.FieldList.Fields[i].DisplayWidth +50;
col.FieldName:=adoquery.FieldList.Fields[i].DisplayName ; end; end;
end;
犹如下列项
id name sex
1 kkk 1
2 mmm 0 如果id,name,sex在文件中存储位置值分别为 1,3,2则读取其位置应该为:
id sex name
1 1 kkk
2 0 mmm 也就是说id,sex,name的顺序值是不固定的可以动态改变的!
i:= adoquery.FieldByName(str).Index;
1:保存dbgrid中各列的设置,下次可以读入这个设置?
还是其它?
如果是,可以再加上个filedname来配合它所在的列序号啊。