a461734807 |
2015-03-18 17:01 |
第十三章 staffmanager例子出现的问题
staffmanager例子,运行时,[attachment=13454],一开始很正常, 但是当编辑了location列中的内容时,也就是双击会出现一个combobox让我选择,选择完后也正常,然后再单击其他行,刚才被编辑的那行中的location就变成了 对应的编号 ,而不是 具体的地址 [attachment=13455]
departmentModel->setRelation(Department_LocationId, QSqlRelation("location", "id", "name"));源码中的这行, Department_LocationId 和 表location中的id 是外键关系,然后显示name这列 departmentView->setItemDelegate(new QSqlRelationalDelegate(this));这行书上说因为有外键,所以必须用qsqlrelationaldelegate委托,该委托能combox给用户来更改 问题应该就在上面两处中的一处,开始运行程序的时候,显示的是数据库name这列信息,但是当我双击编辑改变后,就显示id号了,没人注意到这个问题吗 |
|