我注意到可以在代码中的 TDBEdit 上设置 TextHint 属性(它在对象检查器中不可见),但是它不显示,有没有一种简单的方法可以使它工作?
问问题
172 次
1 回答
4
以下设置适用于 XE2。在 Form 上放置TClientDataSet
、TDataSource
和 2TDBEdit
控件,并使 Form 的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
s 是只读的。例如,Insert()
从片段中删除调用,编辑将保持为空。这种行为与常规编辑类似,这是合理的——当编辑控件不允许编辑时,显示用户应该输入什么的提示是没有意义的。
于 2018-10-22T23:39:29.607 回答