我有一个tDBLookupComboBox。所有文本均显示为“(MEMO)”。我已经检查了LookupSource数据集,所有记录的LookupField都包含预期的文本。会有什么问题呢?
tDBLookupComboBox
(MEMO)
LookupSource
LookupField
kcwpcxri1#
问题是LookupField的类型是varchar(max)。为了解决这个问题,我修改了LookupSource查询,将其转换为varchar(250)。我遇到了这个问题,在网上找不到答案。我张贴的问题和答案,以便未来的游客将能够找到解决方案更快。
varchar(max)
varchar(250)
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;
2条答案
按热度按时间kcwpcxri1#
问题是
LookupField
的类型是varchar(max)
。为了解决这个问题,我修改了LookupSource
查询,将其转换为varchar(250)
。我遇到了这个问题,在网上找不到答案。我张贴的问题和答案,以便未来的游客将能够找到解决方案更快。
zte4gxcn2#
我使用ZeosDbo和Lazarus。TDBLookupComboBox显示(备忘录)。我做了一些研究,发现了GetText方法。我写了一个方法:
并给它方法地址: