Блог


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


Теги

Информация

Delphi, DevExpress, примеры, решения

Фильтр по тегу: tcxgriddbtableview


cxGrid - прокрутить сетку до нужной записи

Как программно в TcxGridDBTableView выполнить прокрутить (scroll) сетку до нужной записи?

TcxGridDBTableView.DataController.MakeRecordVisible(RecoedIndex);

или
TcxGridDBTableView.Controller.FocusedRow.MakeVisible;





Если нужно установить строку по центру сетки:
https://www.sql.ru/forum/1050625/tcxgrid-tcxverticalgrid-kak-skrollirovat-v-centr-na-nuzhnyy-stolbec-stroku#14909273

<TcxGridDBTableView>.Controller.TopRecordIndex 

и
<TcxGridDBTableView>.Controller.LeftPos


см. справку по этим методам
добавлено: 01 окт 13 просмотры: 2391, комментарии: 0



Как обновить или перерисовать принудительно cxGrid?

Как обновить или перерисовать принудительно/программно TcxGridDBTableView?


Нужно использовать

<TcxGridDBTableView>.LayoutChanged



Методы:
cxGrid1.Refresh;

и
cxGrid1.Repaint;

не помогут
добавлено: 15 фев 13 просмотры: 3419, комментарии: 0



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

Даже если 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
добавлено: 16 июл 12 просмотры: 2985, комментарии: 0