Блог


Последние записи


Теги

Информация

Пройтись в цикле по выделенным записям с учетом группировки в cxGrid

добавлено: 16 июл 12
понравилось:0
просмотров: 3448
комментов: 0

теги:

Автор: X11

Даже если TcxGridDBTableView сгруппирован, то процедура будет пропускать строки групп и будет обрабатывать только выделенные записи

procedure ProcessSelectedRecords(grid: TcxGridDBTableView; ColumnIndex: integer);
Var
 i: integer;
 ARowIndex: Integer;
 ARowInfo:  TcxRowInfo;
begin
  with grid.dataController do
  begin
        beginupdate;
        Screen.Cursor := crHourGlass;
        try
          for I := 0 to GetSelectedCount - 1 do
            begin
              ARowIndex := GetSelectedRowIndex(I);
              ARowInfo  := GetRowInfo(ARowIndex);
              if ARowInfo.Level < Groups.GroupingItemCount then
                Continue
              else
                begin
                  ShowMessage(VarToStr(Values[ARowInfo.RecordIndex, ColumnIndex]));
                  ShowMessage(VarToStr(Values[ARowInfo.RecordIndex,  grid.GetColumnByFieldName('имя_нужной_колонки').Index]));
                end;//else
            end;//for
        finally
          endupdate;
          Screen.Cursor := crDefault;
        end;//try
  end;//with
end;


Ещё можно использовать ForEachRow(), см. справку

И здесь ещё есть информация: Как получить значения записей выделенных строк в cxGrid

Комментарии




Необходимо войти на сайт, чтобы оставлять комментарии