Массив String запихнуть в таблицу в Fast Reports

отредактировано 09:34 Раздел: FastReport .NET
В Data Source я передаю массив string, на страничке в fast report у меня лежит таблица в которой кол-во ячеек = длинне массива, как мне данные из массива раскидать по ячейкам массива?
Идеально было бы в цикле, но как сделать я не понял.
Попробовал захардкодить
      string[] array = (String[])Report.GetColumnValue("Данные.Days");
      Cell1.Text = array[1];

не прокатило, ругается, подскажите как правильно?

Комментарии

  • отредактировано 09:34
    поэксперементировал в заполнении таблицы
          for (int i=0; i<Table3.RowCount; i++)
            for (int j=0; j<Table3.ColumnCount; j++)
              Table3[i,j].Text = j.ToString();
    
    не работает, что не так?
  • отредактировано 09:34
    извиняюсь, работает
          for (int i=0; i<Table3.ColumnCount; i++)
            for (int j=0; j<Table3.RowCount; j++)
              Table3[i,j].Text = j.ToString();
    

    такс, как заполнить таблицу понятно, как обратиться к передаваемому массиву не очень понятно
  • отредактировано 09:34
    что-т кажется мне что тут не GetColumnValue нужно использовать?
  • отредактировано 09:34
    вымерли все что-ли? есть хоть какие-то мысли по сабжу?
  • отредактировано 09:34
    Здравствуйте,

    Если стоит задача передать в отчет массив строк, то можно это сделать двумя способами:

    1) передать массив через параметр отчета:
    string[] array = ...;
    report.SetParameterValue("MyParam", array);
    
    в скрипте отчета значение параметра получаем так:
    string[] array = (string[])Report.GetParameterValue("MyParam");
    

    2) зарегистрировать массив как источник данных:
    string[] array = ...;
    report.RegisterData("Array", array);
    
    в скрипте работаем с источником данных так:
    DataSourceBase array = Report.GetDataSource("Array");
    array.Init();
    while (array.HasMoreRows)
    {
      string value = (string)Report.GetColumnValue("Array.Value");
      array.Next();
    }
    
  • отредактировано July 2012
    спасибо за ответ, подскажите а report у вас это объект какого класса?
    Сейчас я передаю данные в отчет таким образом:
    renderer.AddBusinessObject("Данные", TableLines);
    
    TableLines - это и есть данные, лист объектов или сом объект
    renderer - это IRenderer
  • отредактировано July 2012
    ага, есть такой класс report, но у него нет методов SetParameterValue, RegisterData
    Хотя конечно это скорей всего наш класс (написаный нашими программыстами)
  • отредактировано 09:34
    report - это FastReport.Report.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.