Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Компонент типа TListBox, но с привязкой к БД [D6, Firebird 2.1]


samalex ©   (2010-06-30 09:16:00) 

Уважаемые знатоки!!!
Подскажите компонент типа TListBox, но чтобы список брал из источника БД, было свойство MultiSelect (можно было выбирать несколько значений) и значения не записывались бы сразу в БД (нет DataSourse и DataField).
Задача - сделать фильтр, который выбирает набор данных из БД по нескольким значениям.
Или подскажите, как вы с этим справляетесь.
Заранее благодарен.


samalex   (2010-06-30 18:07:00) [1]


> 12 ©   (30.06.10 12:53) [4]
>
> ну и так можно
>
>  TOB = class
>  public
>    Str : string;
>  end;
>
> var
>  Form1: TForm1;
>
> implementation
>
> {$R *.dfm}
>
> procedure TForm1.Button1Click(Sender: TObject);
> var
>  OB : TOB;
> begin
>   OB := TOB.Create;
>   OB.Str := 'EEEEEEEE';
>   ListBox1.Items.InsertObject(0,'ddddd',OB);
>   ShowMessage(TOB(ListBox1.Items.Objects[0]).Str);


Спасибо большое!!! Сделал по аналогии.


Anatoly Podgoretsky   (2010-06-30 16:08:00) [2]

> samalex  (30.06.2010 14:20:06)  [6]

Там есть MultiSelect


samalex   (2010-06-30 14:20:00) [3]


> Вроде бы ответ как бы на поверхности TDB

В стандартных компонентах?
Но там (TDBLixBox всякие) нет "MultiSelect" почему то.
Или просто ТDBGrid использовать?


Anatoly Podgoretsky   (2010-06-30 14:06:00) [4]

> samalex  (30.06.2010 09:16:00)  [0]

Вроде бы ответ как бы на поверхности TDB


12   (2010-06-30 12:53:00) [5]

ну и так можно

 TOB = class
 public
   Str : string;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 OB : TOB;
begin
  OB := TOB.Create;
  OB.Str := 'EEEEEEEE';
  ListBox1.Items.InsertObject(0,'ddddd',OB);
  ShowMessage(TOB(ListBox1.Items.Objects[0]).Str);


Jeer   (2010-06-30 12:45:00) [6]


> как заполнять?
> как записывать пары "ключ", "отображение"?


Заполняй пробежкой по датасету.
Используй, к примеру TCheckListBox - удобнее
Items - это TStrings, а значит есть поддержка name=value
К примеру name - это id, а value - текст или наоборот

Затем пробегаешь по листам и собираешь id у checked


samalex   (2010-06-30 12:34:00) [7]

как заполнять?
как записывать пары "ключ", "отображение"?


12   (2010-06-30 11:57:00) [8]

> Или подскажите, как вы с этим справляетесь

беру TListBox, выполняю запрос и заполняю TListBox


Наверх

Титульная страница Поиск, карта сайта Написать письмо