Здравствуйте, AndrewVK, Вы писали:
V>>В модели данных отчета легко совместить нужды и OLAP и простого ценника.
AVK>Я не уверен в том что вобще репортер должен заниматься обработкой данных.
Практически в ЛЮБОМ отчете применяются групповые операции. Большая часть печатаемых в мире отчетов предназначена именно для средств анализа. И именно из OLAP беруться данные.
V>>Насчет XML — это обязательно? AVK>Твои предложения по представлению нереляционных данных.
Иерархическая сруктура в памяти. Повторюсь: пусть каждая строка данных может содержать от 0-ля до бесконечности подчиненных наборов данных.
V>>Предлагаю использовать его КАК ОДИН ИЗ ФОРМАТОВ как для хранения макета, так и для входных данных. AVK>А зачем много форматов?
Затем, что много ситуаций. Но как минимум 2 формата: бинарный и XML поддерживать надо. (Это все для МАКЕТА, не для источника данных)
V>>Предлагаю обратить внимание на то, как работает нетовский грид — ему можно подать любой контейнер объектов, не обязательно рекордсет.
AVK>Набор входных данных у него ограничен.
Набор входных данных у него практически неограничен. ЛЮБОЙ сложный тип (не integer и т.д.) можно подать в качестве источника данных (если этот тип регулярен). Или ты имеешь ввиду ограниченные возможности ВИЗУАЛЬНОГО редактора свойств?
V>> Предлагаю сделать допустимым для отчета ЛЮБОЙ источник данных — от Array и ArrayList до TableSet. AVK>Любой даже DataGrid не умеет. Да и алгоритмы это усложнит весьма серьезно.
Это весьма серьезно упростит алгоритмы, двоечник. IEnumerable, IDictionary, IDataRecord и т.д.
V>> Рефлекшен легко позволит это сделать.На любой внешний источник данных может "навешиваться" адаптер, приводящие данные к удобному внутреннему виду.
AVK>Это слишком сложно имхо.
А это даже еще проще, чем XML, т.к. reflection-данные тоже представлены ввиде иерархического набора, весьма удобного для оперирования ими. Нет там ничего сложного, на этот раз микрософт выпустила продукт, который и старшекласники с легкостью осваивают.