在dbgrid输入记录时,如何将某字段的值用一固定值直接输入(不用用户输).(100分)

  • 主题发起人 主题发起人 aaycsdn
  • 开始时间 开始时间
A

aaycsdn

Unregistered / Unconfirmed
GUEST, unregistred user!
不要说在表里设默认值.因为这个值可能会改变.如:操作员姓名.
 
没看明白你要干什么?
 
默认值可以改变的呀
 
将你要固定的列的 readonly 设置为:true ,在 Append 的时候给它设置一个固定值。
 

BeforeInsert
事件中给你的字段赋值
 
在field的onGetText
procedure TForm1.Table1EmpNoGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
Text:='1';//改变1为要改内容
end;
 
在dbgrid 的数据源的ttable 控件或tquery 控件中有一个oninsert 事件中
table1.fieldname('name'):=变量
 
我的意思是:
当1#操作员输入到[操作员]这个字段时,不用他输,'1#'就直接上去了.而且他不能改.
 
你登录的时候应该有一个值就是操作员的编号如:1#,
把这值赋给对应的字段不就行了,
把与此字段关联的控件设为只读
 
在 BeforeInsert
table1.fieldname('name').asvalue:=变量


 
先把 操作员对应的字段.readonly := True;
再在 table.OnNewRecord的事件里写:
dataset.fieldbyname('操作员').Asstring := CurrentOperator;
CurrentOperator是个变量,记录的是当前的操作员的名称或代码,在操作员登陆时给他
赋值就行了

 
用一个全局变量吧
xxx
当1#操作员登陆xxx:=1#操作员
在query的onnewrecord中
query1.fieldbyname('name'):=xxx;
 
Yong的方法行.
 
lzhuan:
不好意思,发完分才看到.
http://www.delphibbs.com/delphibbs/dispq.asp?lid=957701
 
操作员的字段干吗要显示在GRID中?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
685
import
I
后退
顶部