delphi tDBLookupComboBox显示(MEMO)

ttisahbt  于 2023-06-22  发布在  其他
关注(0)|答案(2)|浏览(166)

我有一个tDBLookupComboBox。所有文本均显示为“(MEMO)”。我已经检查了LookupSource数据集,所有记录的LookupField都包含预期的文本。会有什么问题呢?

kcwpcxri

kcwpcxri1#

问题是LookupField的类型是varchar(max)。为了解决这个问题,我修改了LookupSource查询,将其转换为varchar(250)
我遇到了这个问题,在网上找不到答案。我张贴的问题和答案,以便未来的游客将能够找到解决方案更快。

zte4gxcn

zte4gxcn2#

我使用ZeosDbo和Lazarus。TDBLookupComboBox显示(备忘录)。我做了一些研究,发现了GetText方法。我写了一个方法:

procedure GetText(Sender: TField; var aText: string;
  DisplayText: boolean);
begin
  if (Sender.DataType = ftMemo) then
  begin
    aText := Sender.AsString;
    DisplayText := True;
  end;
end;

并给它方法地址:

ZQuery.FieldByName('FieldName').OnGetText := @GetText;

相关问题