Страница 1 из 1

Вывод не пустой строки в компоненте текст для null значений

Добавлено: 02 ноя 2009, 13:53
dzorya
Мне нужно, чтобы для некоторых переменных словаря когда я переношу их на страницу создавался такой компонент текст, который будет выводить ??? если значение переменной null. Насколько я понимаю мне нужно в какой-то момент установить свойство NullValue StiText в “???”. На ум приходит возможность переопределить событие drop у панели страницы. Насколько это корректное решение?

Вывод не пустой строки в компоненте текст для null значений

Добавлено: 02 ноя 2009, 17:42
Edward
Здравствуйте.

Насколько я понимаю Вам нужно просто вывести MessageBox для пользователя, или же Вы хотите записать значение в свойство Text?

Поясните, пожалуйста, задачу.

Спасибо.

Вывод не пустой строки в компоненте текст для null значений

Добавлено: 03 ноя 2009, 04:57
dzorya
Сценарий: пользователь перетаскивает переменную из словаря на поле, создается компонент текст, который настроен так, чтобы выводить "???" вместо пустой строки если значение переменной null.

Вывод не пустой строки в компоненте текст для null значений

Добавлено: 03 ноя 2009, 12:28
Edward
Здравствуйте,

Используйте, пожалуйста, следующий код:

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

StiDesigner.DragEnterToPage += new DragEventHandler(DragEnterToPage);
private void DragEnterToPage(object sender, DragEventArgs e)
{
    StiComponent DraggingComponent = (sender as StiDesignerControl).PageView.DraggingComponent;
    if ((DraggingComponent != null)&&((DraggingComponent as StiText) != null))
    {
        StiVariable myVariable = (sender as StiDesignerControl).Report.Dictionary.Variables[(DraggingComponent as StiText).Text.Value.Replace("{"," ").Replace("}"," ").Trim()];
        if (myVariable != null)
        {
            if (myVariable.Value == "")
                (DraggingComponent as StiText).Text.Value = "is null";
            else
                (DraggingComponent as StiText).Text.Value = "not null";
        }
    }
}
Спасибо.