求字段属性DisplayLabel显示字段别名的方法。 在数据开发中住住需要设一个字段的别名(因为字段以英文命名,别名一般显示给用户,一般为中文)。
为了在设计阶段减少重复输入字段别名的工作,我希望在ADOtable1添加字段时(设置完Connection属性和Tablename属性)显示字段别名。数据库中有一个aa表记录了字段的别名:
tablename fieldname fieldalias
table1 bb1 单号请大家发表一下高见,当然包括实现同样结果的其它方法。
为了在设计阶段减少重复输入字段别名的工作,我希望在ADOtable1添加字段时(设置完Connection属性和Tablename属性)显示字段别名。数据库中有一个aa表记录了字段的别名:
tablename fieldname fieldalias
table1 bb1 单号请大家发表一下高见,当然包括实现同样结果的其它方法。
CREATE VIEW dbo.V_table1
AS
SELECT bb1 as 单号
FROM dbo.table1
大致如此,程序直接调用视图
但我还是想通过改造VCL源代码和存储过程实现,但这样难度是大的,凭现在功夫我还不够,还想各位大虾帮忙出主意
在编程时用这样的语句可把字段名为City的字段在网格中显示为"城市"
你可以在编程时用这种方法来实现
就是动态的设置字段的DISPLAYLABLE值。。function FieldNameToDisplay(aFieldName:string):string;
begin
// ....
//这儿可以用IF条件判断,或者用TSTRINGLIST读一个文本文件..end;procedure SetFieldsDisplayLabel(aFields:TFields);
var
i:Integer;
fldName:string;
begin for i :=0 to aFields.Count-1 do
begin
fldName:=aFields.Fields[i].FieldName;
aFields.Fields[i].DisplayLabel:=FieldNameToDisplay(fldName);
end;end;procedure TForm1.BitBtn1Click(Sender: TObject);
begin
with DataSet1 do
begin
DisableControls;
Open;
SetFieldsDisplayLabel(Fields);
EnableControls;
end;
end;