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

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

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

Комментарии

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

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

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

    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
    Хотя конечно это скорей всего наш класс (написаный нашими программыстами)
  • отредактировано 03:22
    report - это FastReport.Report.

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