DBLookupComboBox的显示问题(20分)

  • 主题发起人 六窍通
  • 开始时间

六窍通

Unregistered / Unconfirmed
GUEST, unregistred user!
我用DELPHI3 开发ORACLE应用,碰到一个问题。
在开发输入FORM时,使用DBLOOKUPCOMBOBOX,
KEYFIELD :CHAR(5),
LISTFIELD :CHAR(5),
如果LENGTH(LISTFIELD)=5,可以选出,DBLOOKUPCOMBOBOX中有显示,
如果LENGTH(LISTFIELD)〈5,可以选出,但DBLOOKUPCOMBOBOX中无显示
如何解决???
此问题不止20分,但我只有这么多,请多包含。
 
按理说不应该发生这种情况, 我特意在我的机器上试了一下根本没问题. 抱歉,帮不上
忙.
 
各位,出问题的FORM的TEXT格式如下:
请多出主义。
object Form1: TForm1
Left = 195
Top = 115
Width = 544
Height = 375
Caption = 'Form1'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
PixelsPerInch = 96
TextHeight = 13
object DBLookupComboBox1: TDBLookupComboBox
Left = 24
Top = 16
Width = 145
Height = 21
DataField = 'AGENTCODE'
DataSource = DataSource1
KeyField = 'AGENTCODE'
ListField = 'AGENTCODE'
ListSource = DataSource2
TabOrder = 0
end
object DBEdit1: TDBEdit
Left = 176
Top = 16
Width = 121
Height = 21
DataField = 'CONTAINERNO'
DataSource = DataSource1
TabOrder = 1
end
object Table1: TTable
Active = True
DatabaseName = 'TDCFS'
TableName = 'LIGHTER_CTN_INFO'
Left = 24
Top = 48
end
object DataSource1: TDataSource
DataSet = Table1
Left = 56
Top = 48
end
object Query1: TQuery
Active = True
DatabaseName = 'TDCFS'
SQL.Strings = (
'SELECT AGENTCODE."AGENTCODE"'
'FROM "AGENTCODE" AGENTCODE')
Left = 104
Top = 48
Data = {。。。}
end
object DataSource2: TDataSource
DataSet = Query1
Left = 136
Top = 48
end
end
 
给你一个答案,DELPHI 3有时确实会有这样的问题!也许是BUG!
DELPHI 4不知道解决了没有,但是"深度历险"中有一个修正程序(控件)
 
这个问题在D3和D4中都有,原因在于您的数据库中的内容后有空格,如'1234 '
而DELPHI使用LOOKUP时将TRIM掉后面的空格进行查找,这样就找不到相应的
内容,尾部空格可能是您从FOXPRO或其他数据库中结转来的,解决办法就是把数据表中各字段TRIM掉空格。
Update table1 set field1=trim(field1)....
 
jzy的说法好像很有道理,虽然我懒得试验,
分数就加上去吧! ^_^
 
jzy的说法好像很有道理,虽然我懒得试验,
分数就加上去吧! ^_^
 
顶部