powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как быстро выгрузить значения поля в TStringList
12 сообщений из 12, страница 1 из 1
Как быстро выгрузить значения поля в TStringList
    #32278944
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет. Надо выгружать данные из TDataSet в TStringList. Естественно не хотелось бы делать перебор записей. Может кто знает, как это делают в LookupComboBox, к примеру, поведайте плиз.
...
Рейтинг: 0 / 0
Как быстро выгрузить значения поля в TStringList
    #32279027
Фотография cyc10ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что, исходников того же LookupComboBox вместе с Delphi нет?
...
Рейтинг: 0 / 0
Как быстро выгрузить значения поля в TStringList
    #32279113
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть, только там очень дофига. Я с ходу не нашёл того места. Может кто концепцию общую знает?
...
Рейтинг: 0 / 0
Как быстро выгрузить значения поля в TStringList
    #32279308
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего, придется делать перебор.

А что за база?
Если есть ХП, то можно сгенерировать текстовое поле со всеми записями, потом разбить в StringList.
...
Рейтинг: 0 / 0
Как быстро выгрузить значения поля в TStringList
    #32279334
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем я хочу сделать что-то типа DBLookupComboBox, только исключительно для навигации по дочернему набору данных, т.к. все стандартные, и те, что я видел, для навигации не подходят (или тормозят сильно или бока какие).
Сделал я парочку таких штук ручками на базе TList обычного, да запарился уже руками делать - хочу раз сделать и навсегда, чтоб универсальное было.
В общем проблема в том, чтоб данные в список быстро грузить и чтоб изменения данных отслеживались.
...
Рейтинг: 0 / 0
Как быстро выгрузить значения поля в TStringList
    #32279385
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пробовал тут GetFieldList - грузит только текущуя запись. :-/
...
Рейтинг: 0 / 0
Как быстро выгрузить значения поля в TStringList
    #32279465
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо, придется вам разбираться с методом GetData
...
Рейтинг: 0 / 0
Как быстро выгрузить значения поля в TStringList
    #32279467
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя нет, извиняюсь, GetData тут ни при чем
...
Рейтинг: 0 / 0
Как быстро выгрузить значения поля в TStringList
    #32279504
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Та блин. Тут бочина на бочине. Когда делаешь EnableScrollEvents - всё передёргивается.
Вот фигня. Даже если перебором делать - всё равно фигня получается.
...
Рейтинг: 0 / 0
Как быстро выгрузить значения поля в TStringList
    #32280131
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обычно в компонентах грузятся только те записи которые профетчины.... остальные остаются как бы за кадром...
может стоит повесится на событие onScroll и выгружать данные?
...
Рейтинг: 0 / 0
Как быстро выгрузить значения поля в TStringList
    #32280163
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, запрятано логично (логично после того как найдешь), код по формированию списка самый банальный

procedure TField.RefreshLookupList;

думаю, что по-другому не получится, поскольку для этого придется переписать всю db-Делфу.
Эта проблема с компонентом списком для навигации по одному полю для меня тоже насущна, пока все реализовал вручную через обычный ComboBox. Самый крутой выход - написать db визуальный компонент, но лично мне очень жалко время (мне придется его для этого много потратить), да и книжку придется по этому поводу поискать... Вручную тоже не сладко - очень много "подводных камней", чтобы сделать более без дерганий, в основном через AfterScroll - ComboBoxChange, два кода на получение списка (AfterScroll мастера) и обновление ItemIndex (AfterScroll себя) и несколько переменных, чтобы "отключать-включать разные места"... А если, как у меня, таких наборов несколько и они связаны, то минимум + BeforeScroll........
...
Рейтинг: 0 / 0
Как быстро выгрузить значения поля в TStringList
    #32280550
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Та я уже сделал тут руками. Сделал фрейм отдельный и там всё запрограммировал. В его конструкторе делается FetchAll и заполняется список в ComboBox, и потом этот фрейм специально регистрируется в специальном обработчике событий переоткрытия и изменения всех наборов данных для адекватного отображения данных.
Во всяком случае это работает во много раз шустрее, чем обычный LookupComboBox...
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как быстро выгрузить значения поля в TStringList
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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