delphi绑定ComboBox数据

delphi中没有像.Net那样直接把数据库中查出的数据绑定到控件上面,例如查询的是一个省份表,TcomboBox的item显示为省份名称,当选择某个省份之后获取对应的省份id。delphi 中没有这么简便的方法,请教了一位大牛级别的大神,了解到了一个非常简便的方法。

第一步创建一个类
type
THospitalClass =class(TObject)
private
Name :stirng; //名称
Id :Integer;//id
end;

第二步 在数据库中查询出来数据后创建这个对象添加进ComboBox控件中

var
Obj : THospitalClass;
{释放创建的对象,delphi 一定得注意创建之后得释放}
DestoryHospital(cmbHospital);

Obj := THospitalClass.Caeate;
obj.name :=Query.FieldBYName(‘name’).AsString;
obj.Id :=Query.FieldBYName(‘name’).AsInteger;
cmdHospital.Items.AddOBject(obj.id,Obj);

第三步 获取选中的医院所对应的id
var
Hospital : THospitalClass;

hospital :=THospital(cmbhospital.Items.Object[cmbhospital.ItemIndex]);

hosopital.id 即为我们所需要操作的id

procedure DestoryHospital(AcomboBox: TcomboBox)
var
i :Integer;
begin
for int i:=0 in AcomboBox.Items.Count-1 do
if Assigned(AcomboBox.items.Object[i])
AcomboBox.Items.Object[i].Destory;
AcomboBox.Clear;

end;
————————————————
版权声明:本文为CSDN博主「RunNick」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/CSDNmyACCP_S2/article/details/52629644

posted on 2020-04-03 00:26  癫狂编程  阅读(704)  评论(0编辑  收藏  举报

导航

好的代码像粥一样,都是用时间熬出来的