'Replicate column Header
I Guys, when I enter more than one store, the header columns are duplicated(if the store are two, if store are three the header colums triplicate). Example: if I choose two stores you create two headers (the duplicate header does not have rows). I leave you the code in case you can help me I would be very grateful.
deliveringGrid.getChildren().clear();
Date startDate = dateFrom.getValue();
Date endDate = dateTo.getValue();
List<Date> dates = new ArrayList<Date>();
long start = startDate.getTime();
long end = endDate.getTime();
long interval = 24 * 1000 * 60 * 60;
while (start <= end)
{
dates.add(new Date(start));
start += interval;
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
columns = new Columns();
columns.setStyle("text-align: center;");
rows = new Rows();
Column col = new Column();
col.setStyle("width: 120px; background: rgb(195,218,249);");
Label label = new Label(getLabel(STORE).toUpperCase());
label.setStyle("color: rgb(21,66,151); font-weight: bold;");
col.appendChild(label);
columns.appendChild(col);
for (StoreManagerModel storeManagerModel : storeList)
{
Row storeRow = new Row();
storeRow.setStyle("text-align: center;");
Label storeName = new Label(storeManagerModel.getName() + " - " + storeManagerModel.getStoreRef());
storeName.setStyle("color: rgb(21,66,151); font-weight: bold;");
storeRow.appendChild(storeName);
for (Date date : dates)
{
final SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
List<List<Object>> query = orderDeliveringService.getOrderDeliveringWithDayDistribution(date, storeManagerModel);
List<OrderDeliveringModel> orderDeliveringModelList = OrderDeliveringConverter.convertData(query);
Column dayCol = new Column();
dayCol.setStyle(COLUMN_HEADERS_STYLE);
int dayOfWeek = TimeSlotDateUtils.getDayOfWeek(date);
String dayString = getDayOfWeekAsString(dayOfWeek);
Label headerLabel = new Label(dayString + " " + dateFormat.format(date));
dayCol.appendChild(headerLabel);
Label day1;
if (CollectionUtils.isNotEmpty(orderDeliveringModelList))
{
StoreManagerModel orderDeliveringModelStore = orderDeliveringModelList.get(0).getStore();
Date orderDeliveringModelData = orderDeliveringModelList.get(0).getDay();
Integer orderDeliveringModelOrder = orderDeliveringModelList.get(0).getOrderCount().get(0);
Integer orderDeliveringModelTotalCapacity = orderDeliveringModelList.get(0).getTotalCapacity().get(0);
day1 = new Label(orderDeliveringModelOrder + " / " + orderDeliveringModelTotalCapacity);
day1.setAttribute("storePlusDate", orderDeliveringModelStore.getStoreRef() + "*" + dateFormat.format(date));
}
else
{
day1 = new Label(" - / - ");
day1.setAttribute("storePlusDate", storeManagerModel.getStoreRef() + "*" + dateFormat.format(date));
}
columns.appendChild(dayCol);
storeRow.appendChild(day1);
}
rows.appendChild(storeRow);
}
deliveringGrid.appendChild(columns);
deliveringGrid.appendChild(rows);
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
