String a[12] = {"NDX", "Индекc", "SIFR","Шифр","FIO","ФИО",
"TARIF","Тариф","OTD","Отдел","PROF","Профессия"};
Организация DBGrid'ов в MDI приложении
Есть MDI приложение, есть дочерняя форма в которой гриды заполняются динамически sql запросами. Так вот после заполнения естественно названия столбцов в гридах служебные на англ. языке, я же хочу, чтобы они были на русском. В каждом запросе названия для каждого столбца писать не очень мне нравится, как это дело организуют знающие люди?
перефразирую: "Как в гриде заполнить названия столбцов, если запрос динамический?"
Может сделать вьюху в БД?
DBGrid1->Columns->Items[0]->Title->Caption = "Индекс";
DBGrid1->Columns->Items[0]->Title->Alignment = taCenter;
Цитата:
Originally posted by uki_
Напр.
DBGrid1->Columns->Items[0]->Title->Caption = "Индекс";
DBGrid1->Columns->Items[0]->Title->Alignment = taCenter;
Напр.
DBGrid1->Columns->Items[0]->Title->Caption = "Индекс";
DBGrid1->Columns->Items[0]->Title->Alignment = taCenter;
ну это удобно когда, две, три таблицы с небольшим количеством столбцов, а если таблиц 40 и в каждой по 20-30 столбцов? Я просто не знаю как это делают, вот и спрашиваю, я спрашиваю не как код пишется, а как это организуется?
Поля этих таблиц имеют русское название?
Цитата:
Originally posted by uki_
Поля этих таблиц имеют русское название?
Поля этих таблиц имеют русское название?
да прикольно бы было, я бы тогда вообще не думал об этом вопросе. Конечно нет.
Тогда загнать в массивы эти названия и присваивать в цикле. В любом случае названия откудато брать нужно.
В 0м столбце имя поля, в 1м русское название.
Цитата:
Originally posted by uki_
Тогда загнать в массивы эти названия и присваивать в цикле. В любом случае названия откудато брать нужно.
Тогда загнать в массивы эти названия и присваивать в цикле. В любом случае названия откудато брать нужно.
что брать их нужно это понятно!
Вопрос в том как это обычно делают, люди которые с этим сталкиваются?
чем массив использовать, мне кажется лучше будет в базе сделать табличку и туда все это загнать, а при инициализации гридов оттуда подтягивать. Или я не прав?
Цитата:
Originally posted by enola
что брать их нужно это понятно!
Вопрос в том как это обычно делают, люди которые с этим сталкиваются?
что брать их нужно это понятно!
Вопрос в том как это обычно делают, люди которые с этим сталкиваются?
Есть для простоты 2 таблицы, с 3мя полями каждый. Напр. Table1(Ndx, Sifr, Fio), Table2(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;
}
}
}
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;
}
}
}
На счет, того, чтоб в таблицу запихнуть все. Может и лучше. При изменении структуры какой-то таблицы не нужно менять программу.
Цитата:
Originally posted by uki_
На счет, того, чтоб в таблицу запихнуть все. Может и лучше. При изменении структуры какой-то таблицы не нужно менять программу.
На счет, того, чтоб в таблицу запихнуть все. Может и лучше. При изменении структуры какой-то таблицы не нужно менять программу.
вот есть такая программа ПАРУС называется у меня структура похожая, может знаешь как они данную весчь организовали?
Только слышал о Парусе. Думаю, с использованием словаря, типа название поля-название колонки. Код что выше, смортрел, рабочий.
Цитата:
Originally posted by uki_
Только слышал о Парусе. Думаю, с использованием словаря, типа название поля-название колонки. Код что выше, смортрел, рабочий.
Только слышал о Парусе. Думаю, с использованием словаря, типа название поля-название колонки. Код что выше, смортрел, рабочий.
спасибо. Буду ждать еще решений :)