根据录入的员工号查询出相应员工个人信息,并显示在列表框中。在此通讯录中此功能被封装为应用程序对话框(CHousesaleDlg)的一个成员函数(UpdateList),函数中通过设置ClistCtrl类对象来实现对列表框的操作。记录集中各个元素的遍历则是使用Crecotrdset派生类的ISEOF()和MoveNext()函数来控制。
调用IDD_DLG_ADD对话框实现新增售楼员信息的录入,其中ComboBox控件的使用简化了信息录入时的操作,而获得该控件的文本内容则需用到CWnd类的成员函数GetWindowText()。新增功能使用AddNew()和Update()来实现,在这里调用父窗口的UpdateList函数是要使用到GetParent()来得到父窗口的指针。此外,对话框资源IDD_DLG_ADD的作用除了做添加对话框之外还被作为修改对话框使用,因此在这里需要设置一个标志位来标示当前操作为添加还是删除,本通讯录中既是通过此方法来实现当前操作的判断。
在修改售楼员基本信息时首先确定要修改的人员是谁,确定列表框中被选元素的位置用GetFirstSelectItem()和GetNextSelectItem()来实现。当然,这里修改所使用的对话框资源仍为IDD_DLG_AD对话框。在生成对话框前设置标志位为修改,而后遍历符合条件的全部记录集,并使用Edit()和Update()实现对数据库表相应字段的修改。
同信息的修改一样应首先获得待删除记录的位置,实现方法同上,而后遍历记录集使用Delete()函数删除符合条件的记录集,再将删除后的新数据表内数据UpdateList到列表框中。
通过指定售楼员的员工号来过滤记录集中的客户记录并显示,过滤条件需要用m_strFilter来设置。用户还可以附加更多检索条件来细化查找客户记录,此处的附加条件包括两项:客户的定金预付情况(C_STATE)和客户的预约设置(C_BOOK)。附加条件的添加体现在实现代码中也是m_strFilter的设置。
调用IDD_DLG_CUS_ADD对话框资源来实现新增客户记录的录入。在该对话框被调用时,对话框应做相应的初始化工作,即将新增客户的所属售楼员默认设置为指定员工的员工号。此处客户记录的新增操作同售楼员信息新增相似,而且这里的IDD_DLG_CUS_ADD对话框资源也是即被用作新增记录使用,又被用作修改已有记录使用,因此这里也需要设置访问标志,判断调用该对话框资源时的具体操作是新增还是修改。
记录的修改需要注意的是:在调用了修改对话框后也应将该客户记录所属售楼员信息初始化到界面上,同调用修改之前的信息显示一致;还有就是修改时客户的记录信息也应初始化在修改对话框之中,让用户一目了然的知晓客户的原始信息。具体的实现就是首先判断访问标志是否是修改,而后通过设置记录集过滤已选择的客户姓名,并将该客户的各项信息赋值给修改对话框相应的控件变量。删除时使用Delete()函数实现记录集的删除。
在了解了客户各项信息后有时需要对具体的某位客户进行回访,而回访过后就需要将数据库中该客户的回访设置修改为是,若该客户已经设置过回访则提示已设置回访,继而返回。