vlad_galaxy
vlad_galaxy
Подробная информация
- Имя пользователя
- vlad_galaxy
- Присоединился
- Посещений
- 0
- Был на сайте
- Группы
- Members
Комментарии
-
Так Sender нужно привести к объекту, событие которого обрабатываете
-
опцию "Встроить шрифты" нужно включить
-
Наведи курсор на нужную строку и жми F5
-
В обработчике OnBeforePrint для мемки проанализируйте значение типа так var s : string; begin s := ; if VarToSTR( ) <> '' then s := s + + ','; TfrxMemoView(Sender).Text := s; end;
-
Чтобы не возникало проблем, получайте датасет в основной программе, а в отчет данные передавайте через FrxDataTable
-
Про decimal COM ничего не знает. На мой взгляд, это одна из множества причин написания чисто нетовского отчетника.
-
А проблема решается просто добавлением в метода FrxDataTable: private void OnGetValueHandler(object VarName, out object Val) { Val = Rows[nItem][VarName.ToString()]; if( Val is decimal ) Val =( double )(( decimal )Val ); }
-
написал: Почему это работает CODE procedure Memo61OnBeforePrint(Sender: TfrxComponent); begin if value='-1' then Memo61.text:='x'; end; Вообще то, по утверждениям разработчиков ( http://www.fast-report.com/en/forum/?p=/dis…
-
Попробуйте использовать событие procedure Memo61OnAfterData(Sender: TfrxComponent); begin SetXValue( TfrxMemoView (Sender )); end; procedure SetXValue( m : TfrxMemoView ); begin if m.Value = '-1' then m.Text := 'x'; end;
-
2 gri В предыдущих постах описано, как создать датасет, который скормить дизайнеру FR и затем сохранить fr3-файл, т.е. именно то, чего Вам и надо было. Сожалею, что столько времени отнял у Вас на чтение.
-
2 gri Посмотрите внимательно В методе RunDesigner - вызывается ДИЗАЙНЕР, в котором дизайнится отчет. А юзерам этот метод и вовсе не нужен
-
В догонку 1. нарастить индекс (i++) в методе InitDataSet 2. добавить "вычисляемую" таблицу в массив m_DT, тогда можно использовать DBCrossTab. В принципе, другие таблицы в дизайнере для указанного отчета и не нужны.
-
2 gri А нужно только таблицы загнать в массив, например FrxDataTable [] m_DT = null; ....................... void InitDataSet() { // получить Ваш датасет DataSet ds = GetDataSet(); m_DT = new FrxDataTable[ds.Tables.Count]; int i = 0; f…
-
В догонку нужно создать новый конструктор для FrxDataTable public FrxDataTable(DataTable dt) { m_ds = new TfrxUserDataSetClass(); if( dt == null) throw( new Exception("Error Create FrxTable") ); m_ds.Name = dt.TableName; this.TableName = d…
-
Чтобы FR узнал таблицу, ее нужно создать ( m_DT ), используя рантаймовскую, получаемую например, методом GetDataTable(); Примерный код см. ниже FrxDataTable m_DT = null; ................ void RunDesigner() { InitDataSet(); TfrxReportCla…
-
Во многих организациях есть свои стандарты эргономики, поэтому закрепленные кнопки, контекстные меню и т.д. визуальных компонент только затрудняют использование. Методы, которые дергались по нажатию кнопок то все равно остались. При встраивании комп…
-
TStream is abstract class Use TMemoryStream
-
написал: на машинах с windows 2000 выдавалась ошибка "Неправильное использование variant..." А это баг. В методе TfrxCustomMemoView.CalcAndFormat(const Expr: String) нужно вставить строку FValue := UnAssigned; перед FValue := v;
-
Поддерживаю точку зрения Lav. Хочу только заметить, что создание отчетности посложнеее, чем кажется (в т.ч. на .Net), и прав Александр, в одном из топиков не рекомендовавший заниматься созданием такого продукта. Microsoft до сих пор такого продукт…
-
написал: Если позволите использовать в Студии приведённый Вами пример датасета (XML-код), то в следующей версии добавлю код для работы с ним. Т.е. требуется Ваше согласие на cut'n'paste с форума в Студию. Согласен. Я человек не суеверный,…
-
написал: Вы можете привести примеры, когда необходимо обащаться к объекту из разных потоков? Примеры именно для 3-х уровневой архитектуры. Пример: В центр приходят данные с филиалов и по мере поступления автоматом производится формирование о…
-
Я бы добавил расходы на закупку визуальных и невизуальных компонент. Например, редактор для набора текста и компилляции скрипта (некий аналог VS). Стоимость покупки, по-моему, меньше расходов на ЗП кодировщика данного модуля. Предварительно, можно …
-
написал: написал: QUOTE (ovs2 @ Sep 24 2005, 08:58 AM) 2. Как писал vlad_galaxy: “А как работать со сложным датасетом, имеющим несколько таблиц и DataRelations?”, то есть не полностью реализована работа с датасетом. Надеюсь, предыдущий …
-
написал: Про релейшены и компарер пока ничего не знаем Я попытался сказать, чего, на мой взгляд, не хватает обёртке над нетовской DataTable. Т.е. прикладнику, например, придется самому реализовывать в дотнете технологию сортировки. Не скажу,…
-
написал: Может быть раскритикуете здесь обёртку над нетовской DataTable, которая поставляется в демках? Было бы очень интересно послушать. Дело не в критике, а в том, что в текущей версии пока не реализован интерфейс IComparer для сравнения с…
-
написал: В чем, по-вашему, преимущества нативных решений? В наличии исходников? В расширяемости? По скорости и функциональности они сейчас в достаточно сильном проигрыше. Я предлагаю изменить угол зрения и посмотреть с другой стороны. Вместо…
-
Выскажу свое чисто субъективное мнение. Выпуск FastReport.Studio напоминает советские времена, когда выпуск изделия планировался за 20 лет вперед и под него готовилась инфраструктура, поставщики, сбыт и т.п. Примеры: советский видеомагнитофон( 1970…
-
написал: для ActiveX объектов C# создаёт дополнительные обёртки, которые в некоторых случаях конфликтуют с обычными обёртками А вы пробовали создавать сборки отдельно, например таким образом tlbimp.exe FastReport3.dll /out:FastReport.COM…
-
написал: У интерфейса IfrxPreview добавлено свойство Report. C# вынудил пойти таким путём А если попробовать для назначения Preview использовать хэндлеры: для объекта TfrxReport: написал: procedure Set_PreviewHandle(Value: Integer)…
-
Сохраните сначала в поток, потом - в файл, читайте в обратном порядке, не забыв позиционировать поток в начало - было про это в каком-то топике