Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2013, 10:03   #1
Максикок
Пользователь
 
Регистрация: 07.10.2010
Сообщений: 71
По умолчанию ListBox

Как сделать чтобы при выборе строки в первом ListBox,выбиралась некоторая строка во втором ListBox?
Максикок вне форума Ответить с цитированием
Старый 13.07.2013, 10:34   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
ListBox2->ItemIndex=ListBox1->ItemIndex;
Или:
Код:
int i=ListBox2->Items->IndexOf(ListBox1->Items[ListBox1->ItemIndex]);
if(i>=0) ListBox2->ItemIndex=i;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.07.2013, 11:15   #3
Максикок
Пользователь
 
Регистрация: 07.10.2010
Сообщений: 71
По умолчанию

сделал вот так
Код:
[CPP]for(int i = 0; i < ListBox1->Items->Count; i++)
 if(ListBox1->Selected[i])
 ListBox2->Selected[i]=true;
 ListBox1->ItemIndex=ListBox2->ItemIndex;[/CPP]
в листбоксах наглядно все правильно делает,а в таблице БД не выделяется нужное поле,если имена совпадают,по одному ID происходит выделение
Максикок вне форума Ответить с цитированием
Старый 13.07.2013, 12:29   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в таблице БД не выделяется нужное поле
Как это понимать прикажешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.07.2013, 13:03   #5
Максикок
Пользователь
 
Регистрация: 07.10.2010
Сообщений: 71
По умолчанию

[ATTACH]Безымянный1.jpg[/ATTACH])))вообщем есть БД,из одной таблицы,в листбокс 1 добавляем первый столбик значений ,к примеру id вещи,в листбокс 2 добавляем второй столбик,к примеру name вещи. мы ввели в name вещи,2 поля с одинаковыми именами,кеды,кеды, в БД прописали id вещи 1,2. при выделении в листбоксе 2 кеды(первые),в листбоксе 1 выделяется id=1,при выделении в листбоксе 2 кеды(вторые),в листбоксе 1 выделяется id=2.Тут все хорошо,но в таблице БД при выделении кеды(первые) выделяется id=1, при выделении кеды(вторые) выделяется id=1. в этом собственно и проблема,не очень хорошо объяснил но все же
Изображения
Тип файла: bmp Безымянный.bmp (116.9 Кб, 139 просмотров)

Последний раз редактировалось Максикок; 13.07.2013 в 15:43.
Максикок вне форума Ответить с цитированием
Старый 13.07.2013, 17:25   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
,не очень хорошо объяснил но все же
Я тебя понял. Для поиска небось Locate по имени используешь?
Искать нужно не по имени а по ID_VESHI.
Я имею ввиду что несмотря на то, что второй комбик содержит только инфу о названиях, он обязательно должен эти названия привязывать к ключевому полю.
Например:
Код:
while not table.eof do begin
 i:=table.FieldByName('id_veshi').AsInteger;
 ListBox1.AddItem(IntToStr(i),TObject(i));
 ListBox2.AddItem(table.FieldByName('Naimenovanie').AsString,TObject(i));
end;
Таким образом оба списка теперь содержат не только информацию поля, но и информацию ключа, с помошью которой потом легко стать на нужную запись в событии клика по ЛистБоксу:
Код:
 Table.First;
 Table.Locate('id_veshi',integer(TListBox(sender).Objects[TListBox(sender).ItemIndex]),[]);
I'm learning to live...

Последний раз редактировалось Stilet; 13.07.2013 в 17:31.
Stilet вне форума Ответить с цитированием
Старый 14.07.2013, 11:10   #7
Максикок
Пользователь
 
Регистрация: 07.10.2010
Сообщений: 71
По умолчанию

Большое спасибо за ответ
Максикок вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
используя процедуру keypress и фунцию listbox.при нажатии на listbox менялась ее высота Алекс38 Общие вопросы Delphi 1 19.09.2012 19:36
Чем отличается ListBox.Count от ListBox.Items.Count bakanaev Общие вопросы Delphi 5 16.08.2012 12:35
как добавить в listbox файлы(пишу с помощью bassplayer)(Listbox+opendialog=play) blackstersl Общие вопросы Delphi 11 09.06.2010 13:23