Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Заголовок столбца таблицы


Автор: moroz11 26.3.2007, 09:47

SELECT N_TEL ТЕЛЕФОН,SHET СЧЕТ FROM TABL5;
***********************
int N ;
  N=DBGrid1->SelectedIndex;
  SprCol=DBGrid1->Columns->Items[N]->FieldName;
***********************
ВОПРОС:
ПРИ таком sql-запросе в FildName заносится 'ТЕЛЕФОН' (а мне надо  N_TEL)  и 
'СЧЕТ' (а мне надо SHET).

Я только начала изучать С++
,помогите мне с решением 2 вопросов:
1. Мне надо ,чтобы в DBGrid высвечивались наименования столбцов таблицы на русском,
    т. е.  ТЕЛЕФОН     СЧЕТ   и т.д.
2. Чтобы в FildName заносилось англ название столбцов т.е. N_TEL     SHET    и т.д.

********************

//СПРАВОЧНИК  LSAB
 if(TreeView1->Selected->Text == "Справочник лицевых счетов")
 {
  //Выбираем sql
 M_Lsab->ADOQueryLsab->SQL->LoadFromFile("lsab.sql");
 Str1 = M_Lsab->ADOQueryLsab->SQL->Text;
 //Выбираем куда грузить набор данных из таблицы
 M_Lsab->DataSourceLsab->DataSet = M_Lsab->ADOQueryLsab;
 //Связываем возвращаемый набор данных и визуальные компоненты
 DBGrid1->DataSource =  M_Lsab->DataSourceLsab;
 DBNavigatorSprLsab->DataSource =  M_Lsab->DataSourceLsab;
 //открываем
 M_Lsab->ADOQueryLsab->Open();
//M_Lsab->ADOQueryLsab->SetFocus();
 }


Автор: _hunter 26.3.2007, 11:16
Цитата(moroz11 @  26.3.2007,  09:47 Найти цитируемый пост)
1. Мне надо ,чтобы в DBGrid высвечивались наименования столбцов таблицы на русском,    т. е.  ТЕЛЕФОН     СЧЕТ   и т.д.

для этого у каждого поля есть свойство DisplayName (DisplayCaption)
Цитата(moroz11 @  26.3.2007,  09:47 Найти цитируемый пост)
Чтобы в FildName заносилось англ название столбцов т.е. N_TEL     SHET    и т.д.

а для этого просто не меняй в запросе имя.

Автор: moroz11 26.3.2007, 14:05
Прошу прощения,но не знаю как связать DisplayName 

int N ;
  N=DBGrid1->SelectedIndex;
  SprCol=DBGrid1->Columns->Items[N]->FieldName;
}
Как ,допустим ,для одного столбца написать?
Как с помощью DisplayName  представить имя первого столбца (N_TEL)  как ТЕЛЕФОН ?

Прошу,помогите
Спасибо

Автор: _hunter 26.3.2007, 14:21
это не у сетки устанавливать нужно а у DataSource'
(как-то так:
Table1->FieldByName("N_TEL")->DisplayName = "ТЕЛЕФОН";
)

Автор: moroz11 27.3.2007, 13:45
Ответы на мои 2 вопроса--все работает *******

**********Заголовки столбцов таблицы из sql-запроса на русском языке *******
DBGrid1->Columns->Items[0]->Title->Caption="Номер телефона";
DBGrid1->Columns->Items[1]->Title->Caption="Лицевой счет";
DBGrid1->Columns->Items[2]->Title->Caption="Оплата";
DBGrid1->Columns->Items[3]->Title->Caption="Оплата-Сумма";
DBGrid1->Columns->Items[4]->Title->Caption="Оплата НДС";

********* Фокус при загрузке окна***********
M_Lsab->DataSourceLsab->DataSet->First();
M_Lsab->DataSourceLsab->DataSet->MoveBy(5);
DBGrid1->SelectedIndex=0;
DBGrid1->SetFocus();

*****************************************

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)