ADODataSet.Fields.Add
.......................
.......................这么大方?!不直
.......................
.......................这么大方?!不直
解决方案 »
- Indy client组件应该怎么发送数据呢?
- 只能运行一个程序的实例
- 程序出现错误,谁是高手谁来拿分!顺便帮小弟一把!
- 请问开发在internet 与 intranet 下用程序,用dcom ,socket,Webconnect那一个好些?
- 菜鸟提问:关于delphi对象释放问题
- 大哥救命!insert into老是提示语法错误,我把源代码全写上
- 关于delphi7的报表问题???
- ▲▲▲ 请问这个进度图控件是用什么做的,请指点下 ▲▲▲
- dbedit 的Bug!
- socket插口问题,请教各位,小生线上等待,十万火急,先谢过各位!!!!
- dbgrid如何在最前面显示当前记录的行号?又如何将最前面的一列去掉?
- 请问到哪去找这几本电子书?
看一看VCL自己的写法即可。
2、选择自定义显示格局时,跳出编辑界面,list all field and attributes.
可编辑当前字段的列宽、列标题、是否显示等。最后将这些保存到相关的表中。表结构脚本如下:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[QueryShowSet]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[QueryShowSet]
GOCREATE TABLE [dbo].[QueryShowSet] (
[Iden] [int] IDENTITY (1, 1) NOT NULL ,
[Form_Caption] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[User_Name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Columns_I] [int] NOT NULL ,
[Field_Name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Field_Width] [int] NULL ,
[Form_Name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[DBGrid_Name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Columns_Caption] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Enable] [int] NOT NULL
) ON [PRIMARY]
GO3、载入初始格局就是删除保存的设置记录,show时如果没有取到保存值则跳过载入设置,则格局就是设计时的样子了。4、用鼠标调整列先后及列宽后可直接选择“保存当前显示格局”菜单保存到表中。搞定收工!
-------------------------------------------------------------
★ 拒绝倒分、拒绝散分
★ 少灌水,有时实在忍不住灌了水,请贴主不要给分~~~
★ 没有解决问题,也请贴主不要给分~~~
★ 大家一起努力,让这里的空气更清新
★ 从自已做起,支持的进来签个名
http://www.csdn.net/expert/topic/768/768178.xml?temp=.9930841
--------------------------------------------------------------
AdoTable1.Fields是一个集合了,写一个循环:
For i:=0 to AdoTable1.Fields.count-1 do
begin
ListBox1.Items.Add(AdoTable1.Fields[i].Name);
end;写到一个PopupMenu控件中某项子菜单事件中,然后指定某控件的PopupMenu为刚才你写程序的菜单了
我想要的正和你说的相反,我是想把字段加到Fields中,也就是在TADODataSet设计时使用fields editor,点右键Add All Fields的功能.
不知道该怎么做?
如果你想要得到DataSet中的所有Field,在程序运行时它们就已经有了(只要Dataset.Active=True),唯一不同的就是Owner不是Form,而是DataSet.
如果你一定要一组Owner=Form的Fields:
Dataset.Active:=true;
Dataset.Active:=false;
Dataset.Fields.Clear;
for i := 0 to Dataset.FieldDefs.Count - 1 do
Dataset.FieldDefs[i].CreateField(Form1);
for i:=0 to adodataset1.FieldCount -1 do
GroupBox1.Items.Add (adodataset1.fields[i].fieldname);
建议参考Delphi6\Source\Property Editors\DSDesign.pas