SmartGWT - Невозможно изменить свойство конфигурации "x" после создания компонента

Из этого примера http://www.smartclient.com/smartgwt/showcase/ я начал динамически реализовывать свою собственную древовидную структуру (TreeGrid). Когда я пытаюсь сделать это, я получаю эту ошибку (название).

public class ProjectTreeGridScreen extends Screen {

  Tree tree;

  @Override
  protected void onLoad() {
    super.onLoad();

    TreeGrid treeGrid = new TreeGrid();

    setPageTitle(Util.C.projectListTitle());

    treeGrid.setWidth(600);
    treeGrid.setHeight(400);

    TreeGridField projectTree = new TreeGridField("ProjectName", "Project Tree");
    TreeGridField projectPath = new TreeGridField("ProjectPath", "Complete path");
    TreeGridField projectDescription = new TreeGridField("ProjectDescription", "Description");
    TreeGridField projectInfo = new TreeGridField("ProjectInfo", "Information");

    treeGrid.setFields(projectTree, projectPath, projectDescription, projectInfo);

    treeGrid.setData(tree);

    add(treeGrid);

  }

  @Override
  protected void onInitUI() {
    super.onInitUI();
    tree = new Tree();

    tree.setModelType(TreeModelType.PARENT);
    tree.setNameProperty("ProjectName");
    tree.setIdField("ProjectItem");
    tree.setParentIdField("ProjectParent");

    tree.setShowRoot(true);

    populateProjects();

  }

  protected void populateProjects() {

    Util.PROJECT_SVC.visibleProjects(
        new ScreenLoadCallback<List<Project>>(this) {
      @Override
      public void preDisplay(final List<Project> result) {
        tree.setData(ProjectTreeGridBuilder.fromRepositories(result));
      }
    });

  }

}

1 ответ

Решение

Что вы подразумеваете под "х"? Обычно, если компонент был нарисован в окне (неявный или явный вызов рисования), вы не можете изменить значения его свойств. Таким образом, единственно возможное решение - воссоздавать объект с новым значением X каждый раз, когда он изменяется.

Другие вопросы по тегам