2016-08-17 2 views
2

Я хочу добавить метку данных в свои ячейки datagrid. Но я не знаю, как получить доступ к элементу и добавить к нему атрибут стиля?Добавить метку данных в GWT-DataGrid

Есть ли у вас идеи?

Edit: Цель заключается в создании адаптивных таблиц как 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> 
+0

Что вы имеете в виду, добавив метку данных? Вы хотите стилизовать все ячейки таблицы? можете ли вы опубликовать часть своего кода? –

+0

Как ' \t <тд данные метки = "имя"> Lindsey \t <тд данные метки = "имя"> Tanner \t <тд данные метки = "улица"> 511-635 Malesuada Rd. \t <тд данные метки = "PLZ"> 77791 \t <тд данные метки = "город"> Биконсфильд ' – Benni

ответ

0

Все, что вы можете сделать, это добавить имя стиля вместо данных-метку. Чтобы сделать это, вам нужно иметь в Java кода собственной customCellTableBuilder и в той части кода, где вы создаете столбцы добавить имя стиля, как «адрес» или «имя» и т.д.

Chcek это http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/cellview/client/AbstractCellTableBuilder.html

+0

на самом деле вы можете атрибут для TD элемента HTTP: //www.gwtproject. орг/Javadoc/последняя/ком/Google/GWT/дом/строитель/общий/ElementBuilderBase.html # атрибут (java.lang.String,% 20int) – Tobika

0

Самый простой способ - увеличить размер 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); 

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

Другой пример ho w для использования AbstractCellTableBuilder вы можете найти here.

Смежные вопросы