Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Замена заголовка "Datawindow error" / 18 сообщений из 18, страница 1 из 1
29.05.2009, 10:45
    #36015112
Лампочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
Я прописала Validation Expression для полей datawindow. Например, если пользователь в числовом поле написал строку, выдается ошибка, но заголовок у этой ошибки "Datawindow error". Можно его поменять на русскоязычный и как и где? Или эту обработку нужно написать по-другому?
...
Рейтинг: 0 / 0
29.05.2009, 11:19
    #36015210
maxATC
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
Программно
This.toolbarframetitle = "Панель инструментов"
This. toolbarsheettitle = "Панель инструментов"
This.toolbarpopmenutext = "Переместить влево,Переместить вверх,Переместить вправо,Переместить вниз,Плавающая панель,Показать текст,Показать подсказку"
This.microhelpdefault = "Жду указаний"
This.dwmessagetitle = "Ошибка данных"
А также в свойствах app ручками
...
Рейтинг: 0 / 0
29.05.2009, 11:21
    #36015216
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
ЛампочкаЯ прописала Validation Expression для полей datawindow. Например, если пользователь в числовом поле написал строку, выдается ошибка, но заголовок у этой ошибки "Datawindow error". Можно его поменять на русскоязычный и как и где? Или эту обработку нужно написать по-другому?

PowerBuilder Help
Message.Title DataWindow object property

Description

The title of the dialog box that displays when an error occurs.

Controls

DataWindows

Syntax

PowerBuilder dot notation:

dw_control.Object.DataWindow.Message.Title

Describe and Modify argument:

"DataWindow.Message.Title { = ' titlestring ' }"

SyntaxFromSQL:

DataWindow(Message.Title = ' titlestring ' )

Parameter Description
titlestring A string containing the title that displays in the title bar of the DataWindow dialog box that displays when an error occurs
...
Рейтинг: 0 / 0
29.05.2009, 11:34
    #36015262
Лампочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
Спасибо!
...
Рейтинг: 0 / 0
29.05.2009, 11:37
    #36015267
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
ЛампочкаЯ прописала Validation Expression для полей datawindow. Например, если пользователь в числовом поле написал строку, выдается ошибка, но заголовок у этой ошибки "Datawindow error". Можно его поменять на русскоязычный и как и где? Или эту обработку нужно написать по-другому?
Можно, перехватывать событие itemerror и там выводить свое сообщение и возвращать -1.
Но текст ошибки там не доступен, есть только имя столбца, т.е. придется сообщение доставать ручками из DW либо из какого-то другого хранилища метаинформации.

Я вообще с этим мало работал - лучше подождать что ответят другие.
...
Рейтинг: 0 / 0
29.05.2009, 11:40
    #36015277
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
Anatoly MoskovskyЯ вообще с этим мало работал - лучше подождать что ответят другие.
О, я был прав :)
...
Рейтинг: 0 / 0
06.04.2010, 16:12
    #36563768
maniac85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
а вот да, где выкопать строку "Item doesn't pass validation test" чтобы ее русефецировать?
...
Рейтинг: 0 / 0
06.04.2010, 20:02
    #36564366
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
maniac85а вот да, где выкопать строку "Item doesn't pass validation test" чтобы ее рус е ф е цировать?
Думаю, лучше Вам за это не браться, а то ненароком дефекация на русский язык получится :-)
...
Рейтинг: 0 / 0
07.04.2010, 02:29
    #36564718
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
Филиппmaniac85а вот да, где выкопать строку "Item doesn't pass validation test" чтобы ее рус е ф е цировать?
Думаю, лучше Вам за это не браться, а то ненароком дефекация на русский язык получится :-)
Ф-у-у...лип. Извините, а по существу?
...
Рейтинг: 0 / 0
07.04.2010, 11:25
    #36565201
maniac85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
Филиппmaniac85а вот да, где выкопать строку "Item doesn't pass validation test" чтобы ее рус е ф е цировать?
Думаю, лучше Вам за это не браться, а то ненароком дефекация на русский язык получится :-)да ладно, это ж практически общепринятое написание (например о русификации игр пиратами), щютка одним словом. Вы б таки лучше по делу сказали.
...
Рейтинг: 0 / 0
07.04.2010, 11:26
    #36565205
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
AISФилиппmaniac85а вот да, где выкопать строку "Item doesn't pass validation test" чтобы ее рус е ф е цировать?
Думаю, лучше Вам за это не браться, а то ненароком дефекация на русский язык получится :-)
Ф-у-у...лип. Извините, а по существу? Филипп абсолютно прав.
По существу надо рядом с условием валидации написать Validation message:
Код: plaintext
<DW Control Name>.Modify("<Columnname>.ValidationMsg='<msg displayed instead of default when itemerror occurs>'")
...
Рейтинг: 0 / 0
07.04.2010, 11:49
    #36565305
maniac85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
PL99
По существу надо рядом с условием валидации написать Validation message:
Код: plaintext
<DW Control Name>.Modify("<Columnname>.ValidationMsg='<msg displayed instead of default when itemerror occurs>'")
Благодарствую, работает.
А нельзя как-то это стандартное сообщение заменить вообще везде, а не для конкретного столбца?

Дело в том, что у меня и условий валидации то нет, оно так ругается, когда в поле с dropdown datawindow вписываешь руками что-нибудь, чего нет в dddw (allow editing включен для работы datawindow dropdown search). Выходит, что для каждого поля с dddw нужно такую строку прописать..
...
Рейтинг: 0 / 0
07.04.2010, 13:00
    #36565621
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
Так ведь в нормальном виде оно вообще практически не появляется, может все-таки проверочку добавите?
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
07.04.2010, 13:01
    #36565629
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
А так, ничего сложно цикл по ColumnCount и замена сообщения в предке, затем просто наследуешь от него
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
07.04.2010, 13:02
    #36565631
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
maniac85А нельзя как-то это стандартное сообщение заменить вообще везде, а не для конкретного столбца?Можно обработать в предке (у вас ведь все DW унаследованы от одного предка?)
Код будет приблизительно такой:
Определение функции
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
protected subroutine setValidationMsg ();
string ls_NewValidation='Некорретно введена информация в поле '
string ls_FieldName, ls_FieldDesc
integer i, cnt
cnt = integer (this.Describe('DataWindow.Column.Count'))
for i =  1  to cnt
 ls_FieldName= this.Describe("#" + string(i) + ".Name")
 ls_FieldDesc= this.Describe (ls_FieldName + "_t.text")
 if ls_FieldDesc = "" or ls_FieldDesc = "!" or ls_FieldDesc = "?" then ls_FieldDesc = ls_FieldName
 this.Modify("#" + string(i) + ".ValidationMsg='" + ls_NewValidation + ls_FieldDesc + "'")
next
end subroutine
Вызов:
Код: plaintext
1.
2.
3.
this.DataObject = 'd_something'
this.SetTransObject (SQLCA)
this.setValidationMsg ()

disclaimer: Написано на ходу, не проверял и даже не компилировал.
...
Рейтинг: 0 / 0
07.04.2010, 13:03
    #36565636
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
Ну вот коллеги даже код привели:)
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
07.04.2010, 13:08
    #36565655
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
Лучше даже так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
protected subroutine setValidationMsg ();
string ls_NewValidation='Некорретно введена информация в поле '
string ls_FieldName, ls_FieldDesc
integer i, cnt
cnt = integer (this.Describe('DataWindow.Column.Count'))
for i =  1  to cnt
 ls_FieldName= this.Describe("#" + string(i) + ".Name")
 if len(this.describe (ls_FieldName + ".ValidationMsg")) >  1  then continue 
 ls_FieldDesc= this.Describe (ls_FieldName + "_t.text")
 if ls_FieldDesc = "" or ls_FieldDesc = "!" or ls_FieldDesc = "?" then ls_FieldDesc = ls_FieldName
 this.Modify(ls_FieldName + ".ValidationMsg='" + ls_NewValidation + ls_FieldDesc + "'")
next
end subroutine
...
Рейтинг: 0 / 0
07.04.2010, 15:02
    #36566125
maniac85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена заголовка "Datawindow error"
Спасибо, это я туплю)
inv_dropdownsearch.of_Register вызывал с именем столбца и с чего-то решил что и modify надо с именем а не с номером.
А так да, можно и в предке.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Замена заголовка "Datawindow error" / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]