遇到过这样一个需求,第1个下拉框更换项目的时候下面的下拉框重新加载项目并且默认选择第1个项目,界面如图。源码如下
第1个下拉框里加2个项目叫A 和 Bprocedure TForm1.cb1CloseUp(Sender: TObject);
var
iSelItemIndex: Integer;
begin
iSelItemIndex := cb1.ItemIndex;
if iSelItemIndex = -1 then //下拉框1什么都没选清空下拉框2获取下拉框1的索引序号
begin
iOriItemIndex := InitialComboBox(cb2,iSelItemIndex);
end
else if iSelItemIndex <> iOriItemIndex then //下拉框1更换了项目时清空下拉框2的项目,下拉框2默认选择是第1个项目,获取下拉框1的索引序号
begin
iOriItemIndex := InitialComboBox(cb2,iSelItemIndex);
if iSelItemIndex = 0 then
begin
cb2.Items.Add('我属于A');
cb2.Items.Add('我也属A');
cb2.ItemIndex := 0;
end
else
begin
cb2.Items.Add('我属于B');
cb2.Items.Add('我也属于B');
cb2.ItemIndex := 0;
end;
end;
end;function TForm1.InitialComboBox(cbItem: TComboBox;iSelIndex: Integer): Integer;
begin
cbItem.Items.Clear;
result := iSelIndex;
end;
第1个下拉框里加2个项目叫A 和 Bprocedure TForm1.cb1CloseUp(Sender: TObject);
var
iSelItemIndex: Integer;
begin
iSelItemIndex := cb1.ItemIndex;
if iSelItemIndex = -1 then //下拉框1什么都没选清空下拉框2获取下拉框1的索引序号
begin
iOriItemIndex := InitialComboBox(cb2,iSelItemIndex);
end
else if iSelItemIndex <> iOriItemIndex then //下拉框1更换了项目时清空下拉框2的项目,下拉框2默认选择是第1个项目,获取下拉框1的索引序号
begin
iOriItemIndex := InitialComboBox(cb2,iSelItemIndex);
if iSelItemIndex = 0 then
begin
cb2.Items.Add('我属于A');
cb2.Items.Add('我也属A');
cb2.ItemIndex := 0;
end
else
begin
cb2.Items.Add('我属于B');
cb2.Items.Add('我也属于B');
cb2.ItemIndex := 0;
end;
end;
end;function TForm1.InitialComboBox(cbItem: TComboBox;iSelIndex: Integer): Integer;
begin
cbItem.Items.Clear;
result := iSelIndex;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货