Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxGrid убрать группировку / 4 сообщений из 4, страница 1 из 1
24.12.2020, 11:02
    #40030739
minva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGrid убрать группировку
Добрый день всем!
Есть в cxGrid-е группировка. См картинку. Все нормально, когда строится по нескольким объектам.
А когда запрос по одному объекту, то группировка не нужна.
Вопрос - как ее отключить одним движением? Типа SummaryVisible := false;
перерыл все свойства- не вижу ничего подобного, только если удалить группировку, а потом заново ее создавать. Не хотелось бы так
...
Рейтинг: 0 / 0
24.12.2020, 11:07
    #40030742
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGrid убрать группировку
Column.CroupIndex := -1;
...
Рейтинг: 0 / 0
24.12.2020, 14:24
    #40030822
minva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGrid убрать группировку
DimaBr, спасибо большое

Еще вопрос, как получить значение группировки в каждом столбце. Что не так делаю?
Код: pascal
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.
39.
40.
41.
procedure TGridCxImport.GetDisplayDataSet;
var
  i: integer;
  j: integer;
  k: integer;
  rowInfo: TcxRowInfo;
  fieldName: string;
  col: TcxGridColumn;
  grValues: TcxDataSummaryValues;
  grValue: string;
begin
  fDisplayDataSet.Open;
   for i := 0 to fcxGridTableView.DataController.RowCount - 1 do
   begin
     fDisplayDataSet.Append;
     rowInfo := fcxGridTableView.DataController.GetRowInfo(i);

     for j := 0 to fcxGridTableView.VisibleColumnCount - 1 do
     begin
       col := fcxGridTableView.VisibleColumns[j];
       if col.Visible then
       begin
         if col is TcxGridDBColumn then
           fieldName := TcxGridDBColumn(col).DataBinding.FieldName
         else // col is TcxGridDBBandedColumn
           fieldName := TcxGridDBBandedColumn(col).DataBinding.FieldName;
         k := col.Index;
         if  rowInfo.Level = fcxGridTableView.DataController.Groups.GroupingItemCount then  //Значение из строки данных
           fDisplayDataSet.FieldByName(fieldName).Value := copy(fcxGridTableView.DataController.GetRowDisplayText(rowInfo, k), 1, 250)
         else    //Значение из строки группы
         begin
           // !!!!!!!! Тут нужно получить значение суммы для каждого столбца Col
           fcxGridTableView.DataController.GetGroupValues(rowInfo.RecordIndex, grValues);
           grValue := grValues[k];  // !!!! Тут почему-то массив из одного элемента, название товара
           fDisplayDataSet.FieldByName(fieldName).Value := copy(grValue, 1, 250)
         end
       end;
     end;
     fDisplayDataSet.Post;
   end;
end;
...
Рейтинг: 0 / 0
24.12.2020, 15:32
    #40030871
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGrid убрать группировку
Код: pascal
1.
// !!!!!!!! Тут нужно получить значение суммы для каждого столбца Col


тынц
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxGrid убрать группировку / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]