Добавете Data-Label към GWT-DataGrid

Искам да добавя етикет с данни към моите клетки от мрежата с данни. Но нямам представа как да получа достъп до елемент и да добавя стилов атрибут към него?

Имате ли идеи

Редактиране: Целта е да създадете адаптивни таблици като http://codepen.io/maddesigns/pen/pHqnt

<table class="responsive">
  <thead>
      <tr>
          <th scope="col">Name</th>
          <th scope="col">Vorname</th>
          <th scope="col">Straße</th>
      <th scope="col"><abbr title="Postleitzahl">PLZ</abbr></th>
          <th scope="col">Ort</th>
      </tr>
  </thead>
<tr>
    <td data-label="Name">Shannon</td>
    <td data-label="Vorname">Cheyenne</td>
    <td data-label="Straße">Ap #239-2170 Phasellus Av.</td>
    <td data-label="PLZ">94075</td>
    <td data-label="Ort">Berlin</td>
</tr>
</table>

person Benni    schedule 17.08.2016    source източник
comment
какво имаш предвид под добавяне на етикет с данни? искате ли да стилизирате всички клетки на таблицата? можеш ли да публикуваш част от кода си?   -  person Youssef Lahoud    schedule 17.08.2016
comment
като <tr> <td data-label="name">Lindsey</td> <td data-label="forename">Tanner</td> <td data-label="street">511-635 Malesuada Rd.</td> <td data-label="PLZ">77791</td> <td data-label="city">Beaconsfield</td> </tr>   -  person Benni    schedule 17.08.2016


Отговори (2)


Всичко, което можете да направите, е да добавите име на стил вместо етикет на данни. За да направите това, трябва да имате в кода на Java собствен customCellTableBuilder и в частта от кода, където създавате колони, добавете име на стил като „адрес“ или „име“ и т.н.

Проверете това http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/cellview/client/AbstractCellTableBuilder.html

person Delirante    schedule 20.08.2016
comment
всъщност можете да добавите атрибут към TD елемент gwtproject.org/javadoc/latest/com/google/gwt/dom/builder/shared/ - person Tobika; 22.08.2016

Най-лесният начин е да разширите AbstractCellTableBuilder, като копирате кода на DefaultCellTableBuilder и го редактирате малко.

В метода buildRowImpl ще намерите този код:

  // Build the cell.
  HorizontalAlignmentConstant hAlign = column.getHorizontalAlignment();
  VerticalAlignmentConstant vAlign = column.getVerticalAlignment();
  TableCellBuilder td = tr.startTD();
  td.className(tdClasses.toString());

Тук можете да добавите атрибут към вашия td елемент по следния начин:

String dataLabel = "";
switch (curColumn) {
case 0: dataLabel = "Name";
    break;
case 1: dataLabel = "Vorname";
    break;
case 2: dataLabel = "Straße";
    break;
case 3: dataLabel = "PLZ";
    break;
case 4: dataLabel = "Ort";
    break;
default:
    break;
}
td.attribute("dataLabel", dataLabel);

Не забравяйте действително да използвате вашия Builder във вашия DataGrid: yourGrid.setTableBuilder(tableBuilder);

Друг пример за използване на AbstractCellTableBuilder можете да намерите тук.

person Tobika    schedule 22.08.2016