DataGrid ничего не показывает - PullRequest
0 голосов
/ 11 февраля 2019

Я добавляю DataGrid к SimpleLayoutPanel в FlexTable.Я не могу получить какие-либо данные для отображения или даже заголовки.Каждый раз, когда я вызываю метод в DataGrid, например, setHeight (), весь FlexTable исчезает, и у меня появляется пустая страница.

Я пробовал DataGrid без SimpleLayoutPanel (userPanel в моем коде) и не имею разницы,Я пробовал это с CellTable и ScrollPanel и получаю те же результаты.

public AdminViewImpl() {

    SimpleLayoutPanel contentPanel = new SimpleLayoutPanel();
    initWidget(contentPanel);
    contentPanel.setWidth("100%");
    contentPanel.setHeight("100%");

    final FlexTable adminTable = new FlexTable();
   FlexTable.FlexCellFormatter cellFormatter = adminTable.getFlexCellFormatter();
    adminTable.addStyleName("flexTable");
    adminTable.setWidth("99%");
    adminTable.setCellSpacing(5);
    adminTable.setCellPadding(3);

    cellFormatter.setHorizontalAlignment(0,0,HasHorizontalAlignment.ALIGN_CENTER);
    cellFormatter.setColSpan(0,1,2);
    adminTable.setHTML(0,0,"<h1> GRAPL AUTOMATION</h1>");
    contentPanel.add(adminTable);

    VerticalPanel buttonPanel = new VerticalPanel();

    buttonPanel.getElement().getStyle().setBorderStyle(Style.BorderStyle.SOLID);
    cellFormatter.setVerticalAlignment(0,1,HasVerticalAlignment.ALIGN_MIDDLE);
    cellFormatter.setHorizontalAlignment(0,1,HasHorizontalAlignment.ALIGN_CENTER);
      addButton = new Button("Add User");

    addButton.setStyleName("addButton");
    buttonPanel.add(addButton);


    adminTable.setWidget(0,1,buttonPanel);


    userPanel = new SimpleLayoutPanel();
    userPanel.setSize("1000px","200px");
    userPanel.getElement().getStyle().setBorderStyle(Style.BorderStyle.SOLID);
    cellFormatter.setVerticalAlignment(1,0,HasVerticalAlignment.ALIGN_MIDDLE);
    cellFormatter.setHorizontalAlignment(1,0,HasHorizontalAlignment.ALIGN_CENTER);
    cellFormatter.setColSpan(1,0,3);
    cellFormatter.setHeight(1,0,"200px");
    //userTable.setHeight("10px");
    //userTable.setAutoHeaderRefreshDisabled(true);
    // Set the message to display when the table is empty.
   // userTable.setEmptyTableWidget(new Label("Grid has no Data"));
    userPanel.add(userTable);


    adminTable.setWidget(1,0,userPanel);
   //userTable.redraw();
}

Данные загружаются из докладчика в этот метод:

 @Override
 public void setTableData(List<User> userDetails) {
    userTable = new DataGrid<User>();

    TextColumn<User> columnUserId= new TextColumn<User>() {
        @Override
        public String getValue(User user) {
            return user.getUser_id();
        }
    };

    userTable.addColumn(columnUserId,"UserID");
    userTable.setColumnWidth(columnUserId,20,Style.Unit.PX);

    TextColumn<User> columnName = new TextColumn<User>() {
        @Override
        public String getValue(User user) {
            return user.getName();
        }
    };

    userTable.addColumn(columnName,"Name");
    //userTable.setColumnWidth(columnName,60,Style.Unit.PX);
    TextColumn<User> columnRole = new TextColumn<User>() {
        @Override
        public String getValue(User user) {
            return user.getRole();
        }
    };

    userTable.addColumn(columnRole,"Role");
    TextColumn<User> columnIsActive = new TextColumn<User>() {
        @Override
        public String getValue(User user) {
            return user.getIsActive();
        }
    };

    userTable.addColumn(columnIsActive,"Active");
    TextColumn<User> columnProduct = new TextColumn<User>() {
        @Override
        public String getValue(User user) {
            return user.getProduct();
        }
    };

    userTable.addColumn(columnProduct, "Product");
    userTable.setSelectionModel(selectionModel);


    userTable.setRowCount(userDetails.size());
    userTable.setRowData(0,userDetails);
    //userTable.redraw();



}

1 Ответ

0 голосов
/ 11 февраля 2019

Моя вина в том, что были созданы 2 DataGrids.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...