Текущий архив: 2004.05.30;
Скачать: CL | DM;
ВнизВывод каждой ячейки БД в соответствующие компоненты на форме Найти похожие ветки
← →
Strori (2004-05-02 15:42) [0]Здравствуйте. Есть таблица БД из нескольких столбцов. Как сделать, чтобы при выборе пользователем строки в таблице, данные в ячейках этой таблицы выводились в поля редактирования на форме? Т.е. есть столбцы "Имя", "Фамилия" и "Дата". Нужно, чтобы значение ячейки "Имя" выводилось в Edit1, ячейки "Фамилия" в Edit2 и т.д. Строка выбирается пользователем. Компонента DBGrid нет, т.к. визуализация базы не требуется.
← →
Anatoly Podgoretsky © (2004-05-02 15:53) [1]Первое отказаться от TEdit в пользу TDbEdit, тогда автоматически или же при изменении позиции преобразовывать данные и копировать их в TEdit
← →
Strori (2004-05-02 16:06) [2]А с TDbEdit как? Можно код хотя бы для одного TDbEdit?
← →
dilp (2004-05-02 17:26) [3]у TDbEdit есть свойства типа DataSource, DataField. Настраиваешь на свой источник.
При навигации по строкам таблицы TDbEdit будет автоматически отображать содержание поля DataField. Также можно менять содеражание данного поля через этот компонент.
← →
Vemer © (2004-05-02 17:52) [4]Второе - откажись от DBEdit в пользу Edit, если ты что-то серьезнее лабы или курсовой пишешь:
- Копируй в нужные поля в соотв. Edit в событии OnScroll датасета.
- Использование DBEdit постоянно переключает Insert/Edit/Browse режим датасета - создает проблемы с транзакциями и т.п.
- В DBEdit не сделать нормальный контроль ввода, например если набрать в числовом поле 2-2 - сразу поймаешь исключение, а с Edit можно написать или "проверку орфографии" или обработчик исключения нормальный.
- числовые значения замечательно вносяться в Edit через Field.Text/DisplayText на выбор.
← →
Petr V. Abramov © (2004-05-02 18:51) [5]А потом опять забей на TEdit и используй TDBEdit. Потому как TDBEdit = class(TCustomMaskEdit), из чего следует, что все, что можно сделать с TEdit, можно сделать и с TDBEdit, только мучаться с OnScroll DataSet`а и Field.Text/DisplayText и т. п. TDBEdit будет сам.
А переключение Insert/Edit/Browse датасета проблем с транзакциями не создает, если только не создать их самостоятельно.
← →
Vemer © (2004-05-03 00:31) [6]To Petr V. Abramov:
- хотел бы я посмотреть, как будет выглятеть многопользователка, в которой пишущие транзакции должны быть короткими как выстрел на основе DBEdit :).
- попробуй(те) присобачить к DBEdit обработчик onExit с "проверкой орфографии", чтоб исключение не ловилось :).
- DBEdit иногда глючит на скролле.
← →
Petr V. Abramov © (2004-05-03 03:24) [7]> onExit с "проверкой орфографии", чтоб исключение не ловилось :).
"Не ловилось" - это чтоб сразу перезагрузка? :)
Если Вы имел(и:) в виду, чтоб фокус оставался на Edit с неправильным словом -procedure TfmPostCatDialog.DetailStringEditFrameDBEdit1Exit(
Sender: TObject);
begin
inherited;
ActiveControl := TWinControl(Sender);
raise Exception.Create("Слова ж... в русском языке нет :)");
end;
Решение, не спорю, <ложкой> по лбу, но рабочее. И гораздо более простое, чем саморучная синхронизация с DataSet`ом.
> DBEdit иногда глючит на скролле.
Боюсь, у Вас DBEdit какой-то особый (:
> - хотел бы я посмотреть, как будет выглятеть многопользователка, в которой пишущие транзакции должны быть короткими как выстрел на основе DBEdit :).
Не думаю, что Custom(Ваши) манипуляции с DataSet будут быстрее родных.
← →
Strori (2004-05-03 04:46) [8]Ребята... не хочу надоедать, но можно код отображения ячейки в оба компонента, раз уж так разговор зашел. :) В Edit и DBEdit. И еще - навигация по бд (выбор новой строки) осуществляется через ListBox. Человек кликает на индексе в списке - отображается соответствующая строка. Список фомируется на FormActivate из первого и второго столбца БД.
← →
Кщд (2004-05-03 10:33) [9]если не хотите надоедать, посмотрите в директорию Demos Вашей Delphi.
Страницы: 1 вся ветка
Текущий архив: 2004.05.30;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.038 c