0

从这个例子http://www.smartclient.com/smartgwt/showcase/#tree_databinding_local,我开始动态地实现自己的树结构(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));
      }
    });

  }

}
4

1 回答 1

1

“x”是什么意思?通常,如果在窗口上绘制了组件(隐式或显式调用 draw),则无法更改其属性值。因此,唯一可能的解决方案是在每次更改时使用新的X值重新创建对象。

于 2011-12-17T10:43:00.013 回答