我们知道双击组件Table会打开一个字段编辑器(Columns edit),在这个编辑器里能选择增加所有字段和建立新字段的两种主要功能,但这都要在设计期事先设定的;如果在运行期时,怎样用代码实现和以上同样的功能。怎么写代码?
解决方案 »
- 类与BPL
- 为什么这么做?修改注册表使软件随Windows一起启动?
- 请问若使用textout(),如何在一张图片上输出半透明的文字?
- 大家帮忙看看好吗?这个文本处理控件的程序有问题
- 急求助:关于ISAPI Filter的编写问题.(2000分)
- 在互联网上用Socket互联,服务器用56K的猫上网:客户端用56K的猫可以连接上,但用ADSL就连接不上,为何?
- Delphi 做的工资管理系统不能在其他机器运行,怎么办
- 在delphi中如何解决联接表后每次打开时总提示输入密码用户名的问题?
- 如何在TIdSMTP、TIdMessage中添加邮件附件?
- formula one 6.0可以自己定义函数吗?怎么样做?
- DTS 数据转换
- 你们那么懒!!!!!!!!!!
var
oField :TField;
begin
Table1.Close;
SetHsxmBrowse(Table1);
Table1.Open;
end;procedure TForm1.SetHsxmBrowse(oDataSet: TDataSet);
var oField :TField;
begin
//设置自定义附加字段
with oDataSet.FieldDefs.AddFieldDef do
begin
Name := 'LAST_NAME';
DataType := ftString;
Size := 20;
oField :=CreateField(oDataSet);
end;
end;
Vfield:Tstringfield;
begin
VField := TStringField.Create(Self);
Vfield.FieldName := 'a'; //这地方写你要加的字段的实际名字就是数据 as 后的名字
Vfield.Name := ADOQuery1 .Name + Vfield.FieldName;
Vfield.Index := ADOQuery1 .FieldCount;
Vfield.DataSet := ADOQuery1 ;
ADOQuery1 .FieldDefs.UpDate;
ADOQuery1 .Open
这是动态删除
var
C: TComponent;
begin
C := FindComponent('ADOQuery1a');
if not (TC = nil) then begin
ADOQuery1.Close;
C.Free;
ADOQuery1.Open;
end;