在TextItem上显示值的条件

| 当我从下拉列表中选择值时,则应更新其他文本项。 以下是该代码:
SelectItem  courseItem = new SelectItem (\"course.id\", \"Course\");
courseItem.setOptionDataSource(CoursesDS.getInstance());

courseItem.setDisplayField(\"course.title\");
courseItem.addChangeHandler(new ChangeHandler() {

            @Override
            public void onChange(ChangeEvent event) {
                c.addCriteria(\"course.id\", (Integer)event.getValue());
                CourseDS.getInstance().fetchData(c);
            }
        });

TextItem courseNameItem = new TextItem(\"course.title\", \"Course Name\");
courseNameItem.setShowDisabled(false);
如果我使用selectitem中的条件通过课程ID,则课程名称应自动显示在textitem中,但不会显示。 请指出我在哪里错了?     
已邀请:
        您不必传递课程ID并再次进行获取,而不是在courseSelectItem的changedHandler中使用getSelectedRecord方法。每当更改选择项时,getSelectedRecord方法将具有对应的课程记录。记录获取课程名称并将其设置为文本项
        final TextItem courseNameItem = new TextItem(\"course.title\", \"Course Name\");
        courseNameItem.setShowDisabled(false);

        SelectItem courseItem = new SelectItem (\"course.id\", \"Course\");
        courseItem.setOptionDataSource(CoursesDS.getInstance());
        courseItem.setDisplayField(\"course.title\");

        //Use changed handler
        courseItem.addChangedHandler(new ChangedHandler() {

                @Override
                public void onChanged(ChangedEvent event) {
courseNameItem.setValue(courseItem.getSelectedRecord().getAttributeAsString(\"course.title\"));
                }
            });
    

要回复问题请先登录注册