summaryrefslogtreecommitdiffstats
path: root/client/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/main')
-rwxr-xr-xclient/src/main/java/com/vaadin/client/widgets/Grid.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/client/src/main/java/com/vaadin/client/widgets/Grid.java b/client/src/main/java/com/vaadin/client/widgets/Grid.java
index cb43bdd7d1..ae63749c5f 100755
--- a/client/src/main/java/com/vaadin/client/widgets/Grid.java
+++ b/client/src/main/java/com/vaadin/client/widgets/Grid.java
@@ -639,6 +639,16 @@ public class Grid<T> extends ResizeComposite implements HasSelectionHandlers<T>,
return null;
}
+ protected int getSizeOfCellGroup(Column<?, ?> column) {
+ for (Entry<CELLTYPE, Set<Column<?, ?>>> entry : cellGroups
+ .entrySet()) {
+ if (entry.getValue().contains(column)) {
+ return entry.getValue().size();
+ }
+ }
+ return 0;
+ }
+
void calculateColspans() {
// Reset all cells
for (CELLTYPE cell : this.cells.values()) {
@@ -4697,7 +4707,8 @@ public class Grid<T> extends ResizeComposite implements HasSelectionHandlers<T>,
if (colspan <= 1) {
continue;
}
- final int cellColumnRightIndex = cellColumnIndex + colspan;
+ final int cellColumnRightIndex = cellColumnIndex + row
+ .getSizeOfCellGroup(getColumn(cellColumnIndex));
final Range cellRange = Range.between(cellColumnIndex,
cellColumnRightIndex);
final boolean intersects = draggedCellRange