可以用CBaseComboBox类,CBaseComboBox类派生于CComboBox,在他的原有基础上,增加了:1.建立与数据库连接 2.按回车时将焦点移动到下一个控件上 3.如果在列表上添加的是字段名,当选中列表中某列时,m_CurrentFieldType成员变量将返回所选项在数据表中的数据类型。
CBaseComboBox类的抽象原型如下:
class CBaseComboBox:public CComboBox
{
public:
CBaseComboBox();
public:
CString m_CurrentFieldType; //记录所选字段类型的变量
void SetRecordet(RxRecordset rs,CString Field="_BASECOMBOBOX_ALL");
virtual~CBaseComboBox();
private:
RxRecordset rst;
}
SetRcordset()成员函数是与数据库连接的关键,参数rs是数据集对象,Field是需要显示在列表中的字段名,如果省缺,系统将会把数据表中的所有字段名显示在列表中