Страница 1 из 2

помогите с таблицей

Добавлено: 10 ноя 2010, 04:54
lexeich
Доброго всем времени суток. Помогите пожалуйста разобраться как решить задачу

После сортировки данных отчет выводит следующую таблицу (вид примерный)

Код: Выделить всё

Поле1 Поле2 Поле3 Поле4
1     1     1     Текст1
1     1     2     Текст2
1     1     2     Текст3
1     1     3     Текст4
1     2     1     Текст5
1     2     2     Текст6
1     2     2     Текст7
1     2     3     Текст8
2     1     1     Текст9
2     1     2     Текст10
2     1     3     Текст11
2     2     1     Текст12
2     2     2     Текст13
2     2     2     Текст14
2     2     3     Текст15
ее особенность в том, что сначала записи сортируются по Полю1, потом по Полю2, потом по Полю3. Нужно удалить повторяющиеся значения (все поля текстовые), чтобы получилась следующая таблица

Код: Выделить всё

Поле1 Поле2 Поле3 Поле4
1     1     1     Текст1
            2     Текст2
                  Текст3
            3     Текст4
      2     1     Текст5
            2     Текст6
                  Текст7
            3     Текст8
2     1     1     Текст9
            2     Текст10
            3     Текст11
      2     1     Текст12
            2     Текст13
                  Текст14
            3     Текст15
Я воспользовался свойством "Обработка дубликатов" и установил его в "Удалить текст". Но он работает не так как нужно мне.
Таблица

Код: Выделить всё

Поле1 Поле2 Поле3 Поле4
1     1     1     Текст1
1     1     1     Текст2
2     1     1     Текст3
превращается в таблицу

Код: Выделить всё

Поле1 Поле2 Поле3 Поле4
1     1     1     Текст1
                  Текст2
2                 Текст3
а должна быть

Код: Выделить всё

Поле1 Поле2 Поле3 Поле4
1     1     1     Текст1
                  Текст2
2     1     1     Текст3
Тоесть нужно чтобы первых 3 поля работали как счетчик. Если меняется Поле1, то обязательно нужно отображать значения Поле2 и Поле3, если меняется значение Поле2, то обязательно нужно отобразить значение Поле3, например

Код: Выделить всё

2 5 3
  6 3
4 6 2
И я не знаю как это сделать. Если есть возможность, подскажите пожалуйста

помогите с таблицей

Добавлено: 10 ноя 2010, 05:53
Aleksey
Здравствуйте,

Попробуйте добавить два GroupHeader бэнда по Поле1 и Поле2, и затем установите обработку дубликатов.

Спасибо.

помогите с таблицей

Добавлено: 10 ноя 2010, 06:37
lexeich
Кое-что получается.
Способ работает только если высота GroupHeader-ов больше 0. Поэтому в отчете образуются небольшие разрывы между группами.
Кроме того, по Полю1 не удаляются дубликаты даже если установить их удаление. Точнее получается так

Код: Выделить всё

2 1 1
    2
2 2 1
    2
а должно быть

Код: Выделить всё

2 1 1
    2
  2 1
    2
Сделал так Спасибо.

помогите с таблицей

Добавлено: 10 ноя 2010, 07:17
Aleksey
Здравствуйте,

Посмотрите пример отчета в приложенном файле.

Спасибо.


помогите с таблицей

Добавлено: 10 ноя 2010, 08:12
lexeich
Спасибо за ответ. Если csv файл Вы замените на

Код: Выделить всё

Filed1;Field2;Field3;Field4
1;1;1;Text1
1;1;2;Text2
1;1;2;Text3
1;1;3;Text4
1;2;3;Text5
1;2;3;Text6
1;2;3;Text7
1;2;4;Text8
2;1;1;Text9
2;1;2;Text10
2;1;3;Text11
2;2;1;Text12
2;2;2;Text13
2;2;2;Text14
2;2;3;Text15
то увидите, что он работает не так ка нужно
Отображается

Код: Выделить всё

1  1  1
      2

      3
   2	
а должно

Код: Выделить всё

1  1  1
      2
		
      3
   2  3
Спасибо за быстрый ответ

помогите с таблицей

Добавлено: 10 ноя 2010, 08:23
lexeich
О! то что надо! если у GroupHeaderBand2 в Вашем примере сделать ненулевую высоту, то все начинает работать!

помогите с таблицей

Добавлено: 10 ноя 2010, 08:25
Andrew
Здравствуйте,

Правильно ли мы Вас понимаем, что проблема решена?

Спасибо.

помогите с таблицей

Добавлено: 10 ноя 2010, 08:33
lexeich
Да. Большое спасибо за помощь. :feelgood:
Я правда не очень понимаю КАК это заработало, но оно заработало ).
Скажите пожалуйста, где можно прочитать про свойство Тег, которое использовалось в этом примере?

помогите с таблицей

Добавлено: 10 ноя 2010, 09:41
Andrew
Здравствуйте,

Это очень простое свойство.
Свойство похоже на свойство Tag в WinForms у контролов. Оно просто хранит какую-то информацию, обычно строковую.
Для заполнения можно использовать выражение.
К примеру:

my tag is {Customers.Name}

Спасибо.

помогите с таблицей

Добавлено: 10 ноя 2010, 14:35
lexeich
Спасибо. Я разобрался и сделал еще лучше чем вначале