是否可以通过 delphi 中的组合框清除列表框
Is it possible to clear a list box via a combo box in delphi
我正在尝试找到一种通过使用 ComboBox 搜索数据库来显示 ListBox 中的项目的方法。我已经这样做了,但是当我在 ComboBox 中选择另一个项目时,有没有办法清除 ListBox?
这是我目前的代码:
with dmAfritours do
begin
while not(tblReserves.Eof) do
begin
if cbb1.Items[cbb1.ItemIndex]=tblReserves['Province'] then
begin
//lst1.Clear;
lst1.Items.Add(tblReserves['ReserveName'])
end;
tblReserves.Next;
end;
end;
您可以在进入 while
循环之前简单地 Clear()
ListBox
。另外,请确保在进入 while
循环之前调用 tblReserves.First;
。
像这样的东西应该可以正常工作:
procedure TMyForm.cbb1Select(Sender: TObject);
var
Province: string;
begin
Province := cbb1.Items[cbb1.ItemIndex];
lst1.Clear;
with dmAfritours do
begin
tblReserves.First;
while not tblReserves.Eof do
begin
// alternatively, consider using the DataSet's Filter property instead...
if tblReserves['Province'] = Province then
begin
lst1.Items.Add(tblReserves['ReserveName']);
end;
tblReserves.Next;
end;
end;
end;
我正在尝试找到一种通过使用 ComboBox 搜索数据库来显示 ListBox 中的项目的方法。我已经这样做了,但是当我在 ComboBox 中选择另一个项目时,有没有办法清除 ListBox?
这是我目前的代码:
with dmAfritours do
begin
while not(tblReserves.Eof) do
begin
if cbb1.Items[cbb1.ItemIndex]=tblReserves['Province'] then
begin
//lst1.Clear;
lst1.Items.Add(tblReserves['ReserveName'])
end;
tblReserves.Next;
end;
end;
您可以在进入 while
循环之前简单地 Clear()
ListBox
。另外,请确保在进入 while
循环之前调用 tblReserves.First;
。
像这样的东西应该可以正常工作:
procedure TMyForm.cbb1Select(Sender: TObject);
var
Province: string;
begin
Province := cbb1.Items[cbb1.ItemIndex];
lst1.Clear;
with dmAfritours do
begin
tblReserves.First;
while not tblReserves.Eof do
begin
// alternatively, consider using the DataSet's Filter property instead...
if tblReserves['Province'] = Province then
begin
lst1.Items.Add(tblReserves['ReserveName']);
end;
tblReserves.Next;
end;
end;
end;