Объединить ячейки в таблице (RDLC) - PullRequest
2 голосов
/ 19 января 2010

Могу ли я получить объединенные ячейки в некоторых строках, в то время как ячейки других строк остаются не объединенными?Вот так:

| group row 1 |
| cell1 | cell3 | cell4 | cell5 | cell6| 
| cell1 | cell3 | cell4 | cell5 | cell6|
...
| group row 2  |
...

Мне нужно экспортировать в Excel содержимое datagridview со строками группы, и было бы неплохо получить что-то подобное.Я пытался использовать элемент ColSpan в TableCell, но он влияет на все строки.

1 Ответ

3 голосов
/ 18 марта 2010

Я нашел решение. Элемент TableCell может содержать элемент ColSpan, в котором можно указать количество ячеек, которые должны быть объединены с этой ячейкой. Другой интересный вопрос: как использовать это наилучшим образом? Мой текущий подход заключается в следующем.
1. Определите все виды строк в сетке относительно слияния ячеек в них (в моем примере есть 2 вида - простая строка без слияния и строка «группа» с одной ячейкой, которая объединяет все ячейки). 2. Определите элемент TableRow для каждого вида строки, используя элемент ColSpan для объединения ячеек. При использовании элемента TextBox в ячейках не забудьте установить уникальные имена для всех элементов TextBox в отчете.
3. Установите видимость для каждого типа строки. Я пока не могу найти лучшего способа, чем простое перечисление индексов строк, например:

<Visibility>
 <Hidden>=iif(RowNumber(Nothing) = 1 or RowNumber(Nothing) = 5 or RowNumber(Nothing) = 8, true, false)</Hidden>
</Visibility>

Убедитесь, что каждая строка в сетке соответствует условию "Hidden = false" не более чем из одного элемента TableRow.

Замечания и предложения приветствуются.

...