Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Организация DBGrid'ов в MDI приложении

335
01 марта 2006 года
enola
379 / / 25.01.2005
Добрый день!
Есть MDI приложение, есть дочерняя форма в которой гриды заполняются динамически sql запросами. Так вот после заполнения естественно названия столбцов в гридах служебные на англ. языке, я же хочу, чтобы они были на русском. В каждом запросе названия для каждого столбца писать не очень мне нравится, как это дело организуют знающие люди?
335
03 марта 2006 года
enola
379 / / 25.01.2005
наверное не правильно вопрос поставил :)

перефразирую: "Как в гриде заполнить названия столбцов, если запрос динамический?"
Может сделать вьюху в БД?
7.9K
03 марта 2006 года
uki_
122 / / 26.01.2006
Напр.

DBGrid1->Columns->Items[0]->Title->Caption = "Индекс";
DBGrid1->Columns->Items[0]->Title->Alignment = taCenter;
335
03 марта 2006 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by uki_
Напр.

DBGrid1->Columns->Items[0]->Title->Caption = "Индекс";
DBGrid1->Columns->Items[0]->Title->Alignment = taCenter;



ну это удобно когда, две, три таблицы с небольшим количеством столбцов, а если таблиц 40 и в каждой по 20-30 столбцов? Я просто не знаю как это делают, вот и спрашиваю, я спрашиваю не как код пишется, а как это организуется?

7.9K
03 марта 2006 года
uki_
122 / / 26.01.2006
Поля этих таблиц имеют русское название?
335
03 марта 2006 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by uki_
Поля этих таблиц имеют русское название?



да прикольно бы было, я бы тогда вообще не думал об этом вопросе. Конечно нет.

7.9K
03 марта 2006 года
uki_
122 / / 26.01.2006
Тогда загнать в массивы эти названия и присваивать в цикле. В любом случае названия откудато брать нужно.
7.9K
03 марта 2006 года
uki_
122 / / 26.01.2006
Может двухмерный массив.

В 0м столбце имя поля, в 1м русское название.
335
03 марта 2006 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by uki_
Тогда загнать в массивы эти названия и присваивать в цикле. В любом случае названия откудато брать нужно.



что брать их нужно это понятно!
Вопрос в том как это обычно делают, люди которые с этим сталкиваются?

335
03 марта 2006 года
enola
379 / / 25.01.2005
чем массив использовать, мне кажется лучше будет в базе сделать табличку и туда все это загнать, а при инициализации гридов оттуда подтягивать. Или я не прав?
7.9K
03 марта 2006 года
uki_
122 / / 26.01.2006
Цитата:
Originally posted by enola
что брать их нужно это понятно!
Вопрос в том как это обычно делают, люди которые с этим сталкиваются?

Есть для простоты 2 таблицы, с 3мя полями каждый. Напр. Table1(Ndx, Sifr, Fio), Table2(Tarif, Otd, Prof);
Создается массив напр.

 
Код:
String a[12] = {"NDX", "Индекc", "SIFR","Шифр","FIO","ФИО",
    "TARIF","Тариф","OTD","Отдел","PROF","Профессия"};


И после открытия запроса.
Код:
int n = DBGrid1->Columns->Count;
  for(int i=0; i<n; i++)
  {
    String tmpl = DBGrid1->Columns->Items->Title->Caption;
    for(int j = 0; j<12; j+=2)
    {
      if(a[j]==tmpl)
      {
        DBGrid1->Columns->Items->Title->Caption = a[j+1];
        DBGrid1->Columns->Items->Title->Alignment = taCenter;
        break;
      }
    }
  }

На счет, того, чтоб в таблицу запихнуть все. Может и лучше. При изменении структуры какой-то таблицы не нужно менять программу.
335
03 марта 2006 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by uki_
На счет, того, чтоб в таблицу запихнуть все. Может и лучше. При изменении структуры какой-то таблицы не нужно менять программу.



вот есть такая программа ПАРУС называется у меня структура похожая, может знаешь как они данную весчь организовали?

7.9K
03 марта 2006 года
uki_
122 / / 26.01.2006
Только слышал о Парусе. Думаю, с использованием словаря, типа название поля-название колонки. Код что выше, смортрел, рабочий.
335
03 марта 2006 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by uki_
Только слышал о Парусе. Думаю, с использованием словаря, типа название поля-название колонки. Код что выше, смортрел, рабочий.



спасибо. Буду ждать еще решений :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог