Цитата:
Каких значений? Что даст добавление значений?
|
В вашем случае, скорее всего, ничего не даст. Вы спрашиваете "как сделать", но, не описываете ни "зачем это нужно", ни "общей задумки", ни "общего подхода". А поскольку вы стоите программу на основе "советов из интернета" (каждый из которых по-своему правильный, но в общем-то несовместим с любым другим), то в результате и получите "лоскутное одеяло", набор кусков кода, а не цельную, работоспособную программу.
Вы опишите "что вы хотите получить в конечном итоге". Может - "форму ввода значений", или "пару форм раздельного отображения и редактирования данных", или "небольшую программку учёта, работающую с БД"?
Цитата:
Каких значений?
Как раз как связать и не понятно. Как связать id записи в таблице со строкой в комбобокс?
|
Добавление значений (id, Name), т.е. "id записи в таблице и строки" в ComboBox:
Код:
procedure TfvMain.btnAddClick(Sender: TObject);
var i, n :integer;
begin
//заполним ComboBox значениями
ComboBox1.Items.Clear;
with Query1 do
begin
Open;
for i := 1 to RecordCount do
begin
ComboBox1.Items.AddObject(
FieldByName('Name').AsString,
TObject(FieldByName('Id').AsInteger)
);
Next;
end;
Close;
ComboBox1.Text := '';
end;
end;
Изменение значений в ComboBox:
Код:
procedure TfvMain.btnDelClick(Sender: TObject);
procedure ComboBox1_DelId ( cId :integer);
var i :integer;
begin
with ComboBox1.Items do
for i := 0 to Count -1 do
if Integer(Objects[i]) = cId
then begin
Delete(i);
Break;
end;
end;
begin
//Изменим значения ComboBox
// 1 вариант (рекомендуемый):
// Очистить ComboBox1.Items: ComboBox1.Items.Clear;
// Загрузить все данные из Query
// 2 вариант (удаление единственного значения по id):
ComboBox1_DelId(StrToInt(edValueId.Text));
end;
Получение значений id из ComboBox:
Код:
procedure TfvMain.ComboBox1Change(Sender: TObject);
begin
//Посмотрим, какие значения Name и Id находятся в ComboBox1
with (Sender as TComboBox) do
begin
ShowMessage('Name = '+Items.Strings[ItemIndex] +', Id = ' +
IntToStr(Integer(Items.Objects[ItemIndex])))
end;
end;