我注意到可以在代码中的TDBEdit上设置TextHint属性(在Object Inspector中不可见),但是它不会显示,是否有一种简单的方法可以完成这项工作?
答案 0 :(得分:4)
以下设置在XE2中有效。在表单上放置一个TClientDataSet
,TDataSource
和2个TDBEdit
控件,并使该表单的OnCreate
事件处理程序如下所示:
procedure TForm1.FormCreate(Sender: TObject);
begin
DataSource1.DataSet := ClientDataSet1;
DBEdit1.DataSource := DataSource1;
DBEdit2.DataSource := DataSource1;
ClientDataSet1.FieldDefs.Add('First', ftString, 20);
ClientDataSet1.FieldDefs.Add('Last', ftString, 20);
ClientDataSet1.CreateDataSet;
ClientDataSet1.Open;
DBEdit1.DataField := ClientDataSet1.Fields[0].FieldName;
DBEdit1.TextHint := 'first name';
DBEdit2.DataField := ClientDataSet1.Fields[1].FieldName;
DBEdit2.TextHint := 'last name';
ClientDataSet1.Insert;
end;
一个潜在的问题是TDBEdit
是只读的。例如,从代码段中删除Insert()
调用,所做的编辑将保持空白。这种行为与常规编辑类似,这是合理的-当编辑控件不允许进行编辑时,没有任何提示显示用户应输入的内容。