菜鸟问题:如何直接赋值DBGrid的各Field?(100分)

  • 主题发起人 主题发起人 wangyuguo
  • 开始时间 开始时间
W

wangyuguo

Unregistered / Unconfirmed
GUEST, unregistred user!
原来是用TStringGridName.Cells[i,j]的,现在想用DBGrid代替,又不想改动太大,能否直接给DBGrid.Column[j].xxxx之类的赋值,如何到下一行?
 
for i=1 to DBGrid1.DataSource.DataSet.RecordCount do
begin
for j := 0 to DBGrid1.FieldCount-1 do
DBGrid.fields[j].asString:=XXX

end
 
DBGrid一般和一个Dataset构件连接,可以直接访问这个Dataset构件,
使用Dataset.FieldByName[xxx].value来访问Dbgrid当前行的内容。
下一行内容则Next一下就可以了
不知道我理解得对不对
 
不能直接给DBGrid.Column[j].xxxx赋值,
应该给对应的记录集中的字段赋值。
注意dbgrid中的行序号和recordset中
记录的序号不一定相同。
 
也可以:
DBGrid1.DataSource.DataSet['XXX'] :=
 
问,给分后我还有权在此发文章吗?新来乍到!
先谢了。下次给你们分!!
 
如果TDBGrid的DataSet表是中间视图,即算得的,开始不知多少行,也可以吗?
那还不如直接写表后再用DBgrid了。原来用StringGrid是先显示和计算,再赋值给表的
 
DBGrid一般和一个Table相连了,你可以用一个Data Controls 下的DBEdit或edit来接收你输入的数据,然后再用一个确认Button.在确认Button的onclick事件中写下:
begin
table1.edit; //or table1.insert or table1.append
table1.fieldbyname('name').value:= DBedit.text; //'name'假设为DBGrid中的一个字段.
table1.post;
end
这样做应该可以了吧, 你试试看,如果不行,我再想想,我也正在学习DELPHI,不好意思.
 
给你们分喽!
 

Similar threads

D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
D
回复
0
查看
840
DelphiTeacher的专栏
D
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部