| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > OnGetText |
| Автор: Akella 18.1.2006, 10:08 | ||||
В таблице есть поле
т.е. в поле записывается или F, или T в коде пытаюсь сделать такое:
т.е. хочу, что пользователь видел не 'T' или 'F', а '+' или '-', ну или Да-Нет, не важно в поле есть значения и 'T' и 'F', но в сетке все ячейки этого поля пустые хотя другое поле, где записывается 0 или 1 - все нормально, т.е. в сетку выводится 'Да' или 'Нет'. |
| Автор: neat 19.1.2006, 06:13 | ||
Используйте OnSetText.
|
| Автор: Akella 19.1.2006, 09:01 |
| neat, на сколько я знаю, то OnSetText используется при записи в таблицу, а мне нужно при чтении из таблицы |
| Автор: neat 19.1.2006, 11:01 | ||
Тогда так
|
| Автор: Akella 19.1.2006, 11:15 |
| нет, так не пойдет, т.к. к таблице подключено несколько сеток (такая специфика) и в каждой сетке прописывать это событие? |
| Автор: SergeBS 19.1.2006, 11:38 | ||
Akella
Тогда делай вычисляемое поле. А с T/F прячь. Все равно, если редактировать надо, то будешь иметь некоторые стандартные проблемы. И вообще на эту тему есть статья Разноцветный DBGrid на DelphiKingdom. Ничего отличного от того, что там есть, не придумаете. Заодно узнаешь, как обойтись одним обработчиком на все сетки. А прописывать обработку все равно придется. Или делай компонент/фрейм с уже прописанной обработкой. neat 2-й if нафиг не нужен. Вся строка с ним заменяется на else begin ... |
| Автор: Akella 19.1.2006, 11:55 |
| про сетку я знаю, мне нужно именно OnGetTex блин, но в соседнем же поле нормально отрабатывается Добавлено @ 11:58 вопрос открыт |
| Автор: neat 19.1.2006, 12:06 | ||
Вот похоже то, что тебе требуется
|
| Автор: Alex 19.1.2006, 16:24 | ||||
Как я узнал замену нужно сделать при отображении данных в DBGridEh, а там это делается в течении 10 секунд. У каждой колонки есть свойства: KeyList и PickList. Соответственно в KeyList добавляем две строки:
В PickList тоже две строки:
Теперь при редактировании данных из грида в базу будут записывать F/T, а отображать -/+ |
| Автор: Akella 19.1.2006, 16:41 |
| да, так работает, но хочу через OnGetText |
| Автор: Akella 19.1.2006, 17:06 | ||
сделал так, спасибо Алексу (+) |
| Автор: Alex 19.1.2006, 17:12 |
| Akella, Только забыл упомянуть, что это в синтаксисе Firebird 1.5 и выше |