Пустой CrossTab

Обсуждение Stimulsoft Reports.NET
Ответить
keeper
Сообщения: 37
Зарегистрирован: 12 янв 2012, 11:26

Пустой CrossTab

Сообщение keeper »

Здравствуйте!

В отчете вывожу данные в CrossTab. Иногда бывает ситуация, когда в него не попадают данные. В этом случае, мне нужно, чтобы в отчет выводилась структура таблицы (чтобы печатались заголовки). Но в печатаются только заголовки ячеек с итогами.
Во вложении два скриншота: структура CrossTab в отчете и что я получаю в отчете.
Вложения
что я получаю в отчете
что я получаю в отчете
Безымянный2.png (2.15 КБ) 1992 просмотра
структура CrossTab в отчете
структура CrossTab в отчете
Безымянный.png (7.17 КБ) 1992 просмотра
Aleksey
Сообщения: 2906
Зарегистрирован: 22 апр 2010, 06:57

Re: Пустой CrossTab

Сообщение Aleksey »

Здравствуйте,

К сожалению, на данный момент, это невозможно.
Как вариант, если нет данных, можно попробовать в событии добавить дополнительную пустую строку.

Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

Re: Пустой CrossTab

Сообщение Леонид »

Добрый день!

Согласен с Алексеем, такой функционал в принципе не нужен, т.к. задача специфическая.
Вы можете легко реализовать такой функционал (на примере Oracle).

1-вариант, из кода C#:

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

  OracleDataAdapter daMain = new OracleDataAdapter ("select * from my_stored_procedure");
  DataTable qrMain = new qrMain();
  daMain.Fill(qrMain); // execute sql

  if (qrMain.Rows.Count == 0)
  {
    DataRow row = qrMain.NewRow(); // add an empty row
    qrMain.Rows.Add(row);
    
    // fill data row data
    row["field1"] = 0;    
    row["field2"] = "Нет данных";

    qrMain.AcceptChanges();
  }

  // execute report with diagram
  stiReport.Render();
2-вариант, из кода отчёта в событии BeginRender:

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

  qrMain.Connect(); // if property ConnectOnStart is false

if (qrMain.Rows.Count == 0)
{
    DataRow row = qrMain.[b]DataTable[/b].NewRow(); // add an empty row
    qrMain.Rows.Add(row);
    
    // fill data row data
    row["field1"] = 0;    
    row["field2"] = "Нет данных";

    qrMain.[b]DataTable[/b].AcceptChanges();
}
Aleksey
Сообщения: 2906
Зарегистрирован: 22 апр 2010, 06:57

Re: Пустой CrossTab

Сообщение Aleksey »

Здравствуйте,

Спасибо за предоставленную информацию.
Ответить