Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

Вывод каждой ячейки БД в соответствующие компоненты на форме   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.054 c
14-1084149909
Думкин
2004-05-10 04:45
2004.05.30
С днем рождения! 10 мая


8-1079904163
dance
2004-03-22 00:22
2004.05.30
gif


1-1084980494
dimon_programmer
2004-05-19 19:28
2004.05.30
Как правильно УНИЧТОЖИТЬ MDI-форму?


3-1084155882
Mishenka
2004-05-10 06:24
2004.05.30
Фильтр по полю соответствия.


1-1084909148
zep
2004-05-18 23:39
2004.05.30
Перетаскивание элемента Panel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский