TfrxMemoView - как изменить текст?

vitaly_lvitaly_l Винница, Украина
отредактировано 08:27 Раздел: FastReport 3.0
В ряде случаев мне надо изменить текст ячейки.
Например если определенное поле базы данных пустое (IsNull), то мне надо написать в отчете "откл.".
В FR2.5 я это УСПЕШНО делал в обработчике самого отчета:

void __fastcall TArcReportForm::Fr1BeforePrint(TStringList *Memo, TfrView *View)
{
if(!Memo->Count) return;
if(View->Memo->Text.Pos("TEMPER") && frDBDataSet1->DataSet->FieldByName("TEMPERATURE")->IsNull )
Memo->Text = " откл."
}

Теперь в FR3 сам обработчик изменился, и хотя я могу доступиться к нужному мне объекту, но НЕ МОГУ ИЗМЕНИТЬ значение ячейки:

void __fastcall TArcReportForm::Fr1BeforePrint(TfrxReportComponent *Sender)
{
TfrxMemoView *MyMemoView = dynamic_cast<TfrxMemoView *>(Sender);
if(!MyMemoView) return;

if(MyMemoView->DataField.IsEmpty()) return;

if(MyMemoView->DataField.Pos("TEMPER") &&
frxDBDataset1->DataSet->FieldByName("TEMPERATURE")->IsNull )
{
MyMemoView->Text = "откл";
//MyMemoView->Memo->Text = "откл";
}

Как мне переопределить текст выводимой ячейки?

Комментарии

  • отредактировано 08:27
    Если мемо подключено к данным (непустые св-ва DataSet и DataField), то переопределить текст не получится. Сначала надо обнулить одно из св-в:

    if(MyMemoView->DataField.Pos("TEMPER") &&
    frxDBDataset1->DataSet->FieldByName("TEMPERATURE")->IsNull )
    {
    MyMemoView->DataSet = NULL;
    MyMemoView->Text = "откл";
    //MyMemoView->Memo->Text = "откл";
    }
  • vitaly_lvitaly_l Винница, Украина
    отредактировано 08:27
    AlexTZ написал:
    Если мемо подключено к данным (непустые св-ва DataSet и DataField), то переопределить текст не получится. Сначала надо обнулить одно из св-в:

    if(MyMemoView->DataField.Pos("TEMPER") &&
    frxDBDataset1->DataSet->FieldByName("TEMPERATURE")->IsNull )
    {
    MyMemoView->DataSet = NULL;
    MyMemoView->Text = "откл";
    //MyMemoView->Memo->Text = "откл";
    }
    Спасибо за подсказку. Теперь работает.

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

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