Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #25  
Старый 10.03.2011, 23:44
Assistant Assistant вне форума
Продвинутый
 
Регистрация: 20.02.2011
Адрес: там где правят идиоты
Сообщения: 603
Версия Delphi: 7
Репутация: выкл
По умолчанию

самый просто способ, при заполнении грида, сопостовлять "поле -> нормальное имя" через case и при взятии значения из combobox делать обратное сопостовление "нормальное имя->поле". типо такова:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<b>var</b>
  fields, names: TStringList;
 
<b>function </b>TForm1.GetNameFromField(field: <b>string</b>);
<b>begin</b>
  Result := names[fields.IndexOf(field)];
<b>end</b>;
 
<b>function </b>TForm1.GetFieldFromName(name: <b>string</b>);
<b>begin</b>
  Result := fields[names.IndexOf(name)];
<b>end</b>;
 
<b>procedure </b>TForm1.FormCreate(Sender: TObject);
<b>begin</b>
  fields := TStringList.Create;
  names := TStringList.Create;
 
  fields.Add(<font color="Navy">'fio'</font>);
  names.Add(<font color="Navy">'Фамилия'</font>);
 
  fields.Add(<font color="Navy">'name'</font>);
  names.Add(<font color="Navy">'Название'</font>);
 
  fields.Add(<font color="Navy">'value'</font>);
  names.Add(<font color="Navy">'Значение'</font>);
 
  <b>for </b>i:=0 to ADOQuery1.FieldCount - 1 <b>do</b>
    Combobox1.Items.Add(GetNameFromField(ADOQuery1.Fields[i].fieldname));
<b>end</b>;
 
<b>procedure </b>TForm1.FilterClick(Sender: TObject);
<b>var</b>
  fieldname: <b>string</b>;
<b>begin</b>
  fieldname := GetFieldFromName(ComboBox1.Text);
  <font color="Navy">// тут применение фильтра по полю fieldname</font>
<b>end</b>;

можно сделать и на массива (но так для понимая проще, как я написал).

P.S.: за ошибки не ручаюсь, писалось "на лету" без Delphi, но смысел должен быть понятен

Последний раз редактировалось Assistant, 10.03.2011 в 23:46.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:41.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025