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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2012, 10:28   #1
KoC aka HoC
 
Регистрация: 23.06.2010
Сообщений: 6
Вопрос название столбцов в combobox из dbgrid

Всем привет! у меня проблема,помогите пожалуйста. есть код неповторяющегося списка в combobox из dbgrid, но при этом из грида берутся значения полей. мне же надо,чтобы брались заголовки столбцов. как это сделать,что изменить? подскажите. вот код:
Код:
procedure TForm4.ComboBox1DropDown(Sender: TObject); //неповторяющийся
var i,j,o:integer;                                  //список
begin

combobox1.Items.Clear;
for I:=1 to form3.Table1.RecordCount do
begin
  o:=0;
 form3.Table1.RecNo:=i;
  for j:=0 to combobox1.Items.Count do
    if (form3.Table1.FieldValues['opred']=combobox1.Items[j]) then o:=1;
    if (form3.Table1.FieldValues['opred']<>combobox1.Items[j]) and (o=0) then
      begin
        combobox1.Items.add(form3.Table1.FieldValues['opred']);
        o:=1
      end;
end;
form3.Table1.RecNo:=1;
end;

Последний раз редактировалось KoC aka HoC; 21.02.2012 в 10:34.
KoC aka HoC вне форума Ответить с цитированием
Старый 21.02.2012, 10:44   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
из грида берутся значения полей
Так там и написано брать Table1.FieldValues
заголовки столбцов - это
dbGrid1.Columns[i].Title.Caption
а сам цикл
Код:
for i:=0 to dbGrid1.Columns.Count-1 do ...
И зачем заполнять его в ComboBox1DropDown? Может проще заполнить один раз при открытии таблицы?
_SERGEYX_ вне форума Ответить с цитированием
Старый 21.02.2012, 10:49   #3
KoC aka HoC
 
Регистрация: 23.06.2010
Сообщений: 6
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Так там и написано брать Table1.FieldValues
заголовки столбцов - это
dbGrid1.Columns[i].Title.Caption
а сам цикл
Код:
for i:=0 to dbGrid1.Columns.Count-1 do ...
И зачем заполнять его в ComboBox1DropDown? Может проще заполнить один раз при открытии таблицы?
брать дропдаун для тог,чтоб если таблица редактироваться будет,то изменения в комбобоксе после этого не видны будут)
KoC aka HoC вне форума Ответить с цитированием
Старый 21.02.2012, 10:52   #4
KoC aka HoC
 
Регистрация: 23.06.2010
Сообщений: 6
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
заголовки столбцов - это
dbGrid1.Columns[i].Title.Caption
именно это мне,наверное и надо) благо дарю!
KoC aka HoC вне форума Ответить с цитированием
Старый 21.02.2012, 11:17   #5
KoC aka HoC
 
Регистрация: 23.06.2010
Сообщений: 6
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
заголовки столбцов - это
dbGrid1.Columns[i].Title.Caption
оказалось,что это не то,что надо.. не добавляет он заголовки..
или я неправильно написал:
Код:
combobox1.Items.Clear;
for I:=1 to form3.query1.RecordCount do
begin
  o:=0;
 form3.query1.RecNo:=i;
  for j:=0 to combobox1.Items.Count do
    if (form3.dbGrid1.Columns[j].Title.Caption=combobox1.Items[j]) then o:=1;
    if (form3.dbGrid1.Columns[j].Title.Caption<>combobox1.Items[j]) and (o=0) then
      begin
        combobox1.Items.add(form3.dbGrid1.Columns[j].Title.Caption);
        o:=1
      end;
end;
form3.query1.RecNo:=1;
end;
что тут не так ????

Последний раз редактировалось KoC aka HoC; 21.02.2012 в 11:37.
KoC aka HoC вне форума Ответить с цитированием
Старый 22.02.2012, 09:44   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Код:
combobox1.Items.Clear;
for j:=0 to form3.dbGrid1.Columns.Count - 1 do
begin
if ComboBox1.Items.IndexOf(form3.dbGrid1.Columns[j].Title.Caption) = -1 then
combobox1.Items.add(form3.dbGrid1.Columns[j].Title.Caption);
end;
что *у вас там не так долго рассказывать, там всё не так.
Но если очень хочется то могу рассказать.

PS
Если нужны имена полей таблицы то

Код:
form3.dbGrid1.datasource.datadet.getfieldnames(ComboBox1.Items);

Последний раз редактировалось vovk; 22.02.2012 в 09:48.
vovk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Название строк и столбцов asas2010 Microsoft Office Excel 2 24.02.2011 16:25
Редактирование В stringgrid название столбцов через Edit Weyner Общие вопросы Delphi 2 21.10.2010 21:15
помогите изменить название столбцов на листе Exel ari23 Microsoft Office Excel 2 12.08.2009 10:43
Название столбцов miss Microsoft Office Excel 8 29.07.2009 17:37
Вертикальное название столбцов в DBGrid EugeneIsmatulin Общие вопросы Delphi 3 29.05.2009 08:58