|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
DBComboBox и его свойства
Запускаю проект, программно добавляю строки в DBComboBox. Когда закрываю и заново запускаю проект содержимое DBComboBox становится пустым, все что я добавлял до этого не сохранилось. Как сделать что бы при каждом запуске программы содержимое DBComboBox оставалось на месте???
|
#2
|
||||
|
||||
после Alt+F12 свойство Items.Strings в .dfm содержит значения?
Пишу программы за еду. __________________ |
#3
|
||||
|
||||
Цитата:
Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#4
|
|||
|
|||
Сделать не DBComboBox, а DBLookupComboBox, и использовать для него отдельную таблицу.
|
#5
|
||||
|
||||
Почему такие сложности? Я бы просто получил датасет и наполнил бы из него самый обычный комбобокс.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#6
|
|||
|
|||
Цитата:
procedure TForm2.BitBtn1Click(Sender: TObject); Var fs: String; n,flag: integer; begin flag:=0; Form1.ADOQuery1.Post; fs:=Form2.DBEdit4.Text; for n:=0 to Form1.DBComboBox1.Items.Count do begin if fs=Form1.DBComboBox1.Items[n] then flag:=1; end; if flag=0 then form1.DBComboBox1.Items.Add(fs); Close; end; |
#7
|
|||
|
|||
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, DBCtrls; type TForm1 = class(TForm) BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; DBGrid1: TDBGrid; DBComboBox1: TDBComboBox; ComboBox1: TComboBox; procedure BitBtn1Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure DBComboBox1Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.BitBtn1Click(Sender: TObject); begin Form2.Show; AdoQuery1.Insert; end; procedure TForm1.BitBtn3Click(Sender: TObject); begin AdoQuery1.Delete; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin Form2.Show; end; procedure TForm1.FormActivate(Sender: TObject); begin DBGrid1.Columns[0].Visible:=False; DBGrid1.Columns[4].Title.Caption:= 'Наименование'; end; procedure TForm1.DBComboBox1Change(Sender: TObject); Var help1, help2: String; begin help1:='''%'+unit1.Form1.DBComboBox1.Text+'%'''; help2:=QuotedStr(help1); with unit1.Form1.ADOQuery1 do begin Close; SQl.Clear; SQL.Add('SELECT * FROM Оргтехника WHERE Nomer like' +help2); ADOQuery1.Active:=true; Open; end; DBGrid1.Columns[0].Visible:=False; end; end. |
#8
|
||||
|
||||
Цитата:
да и чего, собственно, данные должны сохраняться если ты их заполняешь каждый раз в онлайне с Edit и при этом никуда не сохраняешь? коль на то уже пошло: 1. создай таблицу для твоих будущих значений 2. ДБКомбоБокс замени на ДБЛукапКомбоБокс и привяжи его к этой таблице 3. при проверке наличия значения в случае его отсутствия добавляй новойе значение в эту таблицу и переоткрывай ДатаСет подвязанный к ней Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|