![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как связать данные и TListBox? [D5]
Igel © (2002-08-13 08:30:00)Проблема такая:
Есть TListBox и некая БД, точнее таблица, из которой данные вставляются в TListBox.
Необходимо удалить, выбранную/ые записи. Смутно догадываюсь, что возможно это через TStrings TListBox-а. Но как?
Помогите!!
Johnmen (2002-08-13 11:54:00) [21]>Igel ©
Ты пошел не по той тропинке ! Для работы с объектами баз данных существуют специальные DataAware компоненты. Именно их и надо использовать !
(напр. DBEdit, DBGrid и т.д. и т.п.)
Ura (2002-08-13 11:49:00) [22]DBLstB_FIO.Items.AddObject (str_FIO, Pointer(FieldByName("ID").asinteger));
fnatali (2002-08-13 11:43:00) [23]Help->AddObject
Igel (2002-08-13 11:28:00) [24]Mike_Goblin, а по подробнее не можешь рассказать?
дело в том, что я только начинаю работать в Дельфе, и механизм конкретного примера мне не особо понятен...
Например, есть объект DataSet, типа TTable. В TStrings добавляю следующим образом (заполняю):
procedure TFrm_Global.RefreshUsers();
//Процедура обновления списка контактов
var str_FIO:string;
begin
//ADOTbl_user - таблица ТADOTable, аналог TTable
//DBLstB_FIO - компонент ТListBox
with DM_telefone.ADOTbl_user do
begin
//Выводим Юзеров
Open;
DBLstB_FIO.Clear ;
while not Eof do
begin
// Создание ФИО по Фамилии, Имени и Отчеству
str_FIO:=FieldByName("familie").asstring+ " "+
FieldByName("name").asstring+ " "+
FieldByName("NameParent").asstring;
//Заносим созданную строку в ТListBox
DBLstB_FIO.Items.add(str_FIO);
//DBLstB_FIO.Items.AddObject (str_FIO, {ЧТО ЗДЕСЬ ДОЛЖНО БЫТЬ??});
next;
end;
end;
end;
И как дальнейшая работа должно быть? Когда я уже выделил конкретную строку в ТListBox, как мне обратиться к записи?
Не обижусь, если дашь ссылку на доступную статейку... :))
Mike_Goblin (2002-08-13 09:29:00) [25]Есть у TStrings хорошая особенность - возможность добавлять не только строки, но и прицепленные к этим строкам объекты.
function AddObject(const S: string; AObject: TObject): Integer; virtual;
Вот ее и используй, при вставке строк в ListBox цепляй туда еще и значения первичного ключа записи. Затем при удалении/редактировании итд - получить первичный ключ и сделать в таблице с записью все что нужно
SaS13 (2002-08-13 08:55:00) [26]ListBox1.Items.Add("строка"); // Добавление строки в ListBox
ListBox1.Items.Delete(0); // Удаление 1-ой строки из ListBox"а