Последняя версия DataExpress 22.3.12

Изображение Скачать | Изображение Что нового?

Как обратиться к полю запроса?

Все о том как сделать что-то с помощью скриптов.
cordek
Специалист
Сообщения: 939
Зарегистрирован: 14 май 2017, 14:53
Благодарил (а): 227 раз
Поблагодарили: 110 раз

Как обратиться к полю запроса?

Сообщение cordek » 21 апр 2022, 21:55

после проб и ошибок не получается получить имя поля из столбца

Код: Выделить всё

  procedure QueriesMerge(Sender: TObject);

var r, x: string;
n: integer;

begin
dxQueryGrid1.MoveFirst;
r:='';
   while not dxQueryGrid1.Eof do
   begin
          n:=dxQueryGrid1.Columns.Count;
          while n>0 do
               begin
             /// x:= GetFieldName(dxQueryGrid1.Columns.Items[n]) as string; // пока не работает
                 r:= r + '1'+#13#10;// #13#10 - для переноса строки
                 n:=n-1;
               //   end
               end;
              r:= r + '2'+#13#10;
     dxQueryGrid1.MoveNext;
   end;
   Self['Заметка']:=r;
end;

procedure Form_Create;
begin
    dxButton1.OnClick := @QueriesMerge;
end;

Аватара пользователя
admin
Разработчик
Сообщения: 6159
Зарегистрирован: 14 мар 2016, 11:32
Откуда: Ленинградская
Благодарил (а): 89 раз
Поблагодарили: 696 раз

Как обратиться к полю запроса?

Сообщение admin » 21 апр 2022, 22:41

Имя поля столбца запроса = заголовок столбца запроса.

Код: Выделить всё

dxQueryGrid1.Columns[i].Title.Caption

WPAS
Интересующийся
Сообщения: 241
Зарегистрирован: 11 фев 2019, 20:35
Благодарил (а): 48 раз
Поблагодарили: 39 раз

Как обратиться к полю запроса?

Сообщение WPAS » 22 апр 2022, 00:19

Всем спасибо, что-то получилось.
cordek, Только я for для цикла использовал

Код: Выделить всё

 for i:=0 to dxQueryGrid1.Columns.Count-1  do

cordek
Специалист
Сообщения: 939
Зарегистрирован: 14 май 2017, 14:53
Благодарил (а): 227 раз
Поблагодарили: 110 раз

Как обратиться к полю запроса?

Сообщение cordek » 22 апр 2022, 16:19

admin писал(а):Имя поля столбца запроса = заголовок столбца запроса.

Код: Выделить всё

dxQueryGrid1.Columns[i].Title.Caption

Думал про Титл капшн для заголовка столбца, только вчера уже устал, не успел попробовать. ну и я еще подумал, что в гриде же можно кастумное имя заголовка поставить, не совпадающие с именем поля.

cordek
Специалист
Сообщения: 939
Зарегистрирован: 14 май 2017, 14:53
Благодарил (а): 227 раз
Поблагодарили: 110 раз

Как обратиться к полю запроса?

Сообщение cordek » 22 апр 2022, 21:01

полный код для формы

Код: Выделить всё

 
  procedure QueriesMerge(Sender: TObject);

var r, x: string;
n: integer;

begin
dxQueryGrid1.MoveFirst;
r:='';
   while not dxQueryGrid1.Eof do
   begin
         for n:=0 to dxQueryGrid1.Columns.Count-1  do
               begin
                x:= dxQueryGrid1.Columns[n].Title.Caption as string; // пока не работает
                 r:= r +dxQueryGrid1.AsS[x]+' ';  // #13#10 - для переноса строки
               end;
              r:= r + #13#10;
     dxQueryGrid1.MoveNext;
   end;
   Self['Заметка']:=r;
end;

procedure Form_Create;
begin
    dxButton1.OnClick := @QueriesMerge;
end;

WPAS
Интересующийся
Сообщения: 241
Зарегистрирован: 11 фев 2019, 20:35
Благодарил (а): 48 раз
Поблагодарили: 39 раз

Как обратиться к полю запроса?

Сообщение WPAS » 13 июн 2022, 13:11

А можно как-то получить номер столбца,в том месте где установлен курсор?

cordek
Специалист
Сообщения: 939
Зарегистрирован: 14 май 2017, 14:53
Благодарил (а): 227 раз
Поблагодарили: 110 раз

Как обратиться к полю запроса?

Сообщение cordek » 13 июн 2022, 15:45

WPAS писал(а):А можно как-то получить номер столбца,в том месте где установлен курсор?

Конечно можно, в расширении DX plus же есть действие двойной клик по запросу.


Вернуться в «Общие вопросы.»