双击Table控件,然后单击鼠标右键看看吧!
解决方案 »
- 程序的日志文件为txt,写日志的时候出现I/O错误
- 如何实现操作数据库保存记录???
- 注册的MSCOMM32.OCX在有的计算机上提示“设计时期不可用”????
- 急,兄弟姐妹快来看看!!!高分等待你!在线等!!!!!!!!!!!
- 我用ADO连接数据库,现在要插入数据。救命啊
- 怎样才可以多增加可用分?专家分有什么用?
- 今天我心情不错,有好事!!!!快来
- 如何用Delphi开发ARX
- delphi 6.0 好吗?
- InterBase6.0中为何不能使用5.11版中的数据库?有办法解决吗?(20分)
- 什么是主要/明细表?
- procedure TForm1.FormCreate(Sender: TObject)是什么意思啊??
edit1.text := DBGrid1.DataSource.DataSet.Fields[0].asstring;
这个字段是日期型的,想在edit.text中显示为yyyy-mm-dd应该怎么写?
动态添加字段一定要先将表的ACTIVE属性设为TRUE,即:
Table1.Open;
然后再添加字段。
TField类中有个属性:Visible,设置某字段的该属性为False则在DBGrid中自动隐藏之。
var
i:integer;begin
with table1 do begin
open;
for i:=0 to FieldCount-1 do Fields[i].Visible:=false;
if tablename='A' then begin
for i:=0 to tableAFieldList.Count-1 do//tableAFieldList是一个TStringList,存放你想显示的表A的字段
FieldByName(tableAFieldList[i]).Visible:=true;
end;
if tablename='B' then begin
for i:=0 to TableBFieldList.Count-1 do//tableBFieldList是一个TStringList,存放你想显示的表B的字段
FieldByName(tableBFieldList[i]).Visible:=true;
end;
end;
end;
hzb(Explorer):有点不明白,你的代码是把所有字段都显示。那如何才是选择几个字段显示呢?是不是可以:
begin
with table1 do begin
open;
FieldByName(tableAFieldList[1]).Visible:=true;
FieldByName(tableAFieldList[4]).Visible:=true;
.....
的意思是将所有字段隐藏, for i:=0 to tableAFieldList.Count-1 do
FieldByName(tableAFieldList[i]).Visible:=true;
的意思是将tableAFieldList中定义的字段显示出来,你应该在其他地方定义你想显示的字段:
tableAFieldList.Add('..')
tableAFieldList.Add('..'),这是一种方法,其实可以更简单:with table1 do begin
open;
for i:=0 to FieldCount-1 do Fields[i].Visible:=false;
if tablename='A' then begin
FieldByName('Field1').Visible:=true;
FieldByName('Field2').Visible:=true;
FieldByName('Field3').Visible:=true;
...
end;
if tablename='B' then begin
FieldByName('Field1').Visible:=true;
FieldByName('Field2').Visible:=true;
FieldByName('Field3').Visible:=true;
...
end;
end