В версии 2017.2.2 появилась возможность закреплять вверху или внизу сетки несколько записей, как программно, так и пользователю с помощью мышки.
За это отвечают несколько свойств:
1. Нужно включить GridView.OptionsCustomize.DataRowFixing, чтобы включить этот функционал.
2. Определить, как будет выглядеть в таблице значок, который будет видеть пользователь GridView.FixedDataRows.PinVisibility (rpvAlways, rpvHotTrack or rpvRowHotTrack), если программист собирается дать пользователю управлять закреплёнными строками:
![Картинка с другого сайта.]()
Чтобы программно управлять закреплёнными строками (row), воспользуйтесь свойством DataController.RowFixedState:
Пример цикла:
Ист:
https://www.devexpress.com/Support/Center/Question/Details/K18187/how-to-fix-a-row
http://www.sql.ru/forum/1296597/cxgrid-fixed-data-rows
За это отвечают несколько свойств:
1. Нужно включить GridView.OptionsCustomize.DataRowFixing, чтобы включить этот функционал.
2. Определить, как будет выглядеть в таблице значок, который будет видеть пользователь GridView.FixedDataRows.PinVisibility (rpvAlways, rpvHotTrack or rpvRowHotTrack), если программист собирается дать пользователю управлять закреплёнными строками:
Чтобы программно управлять закреплёнными строками (row), воспользуйтесь свойством DataController.RowFixedState:
cxGrid1DBTableView1.DataController.RowFixedState[0] := rfsFixedToTop;
Пример цикла:
procedure TForm1.FixRows2;Var colName: TcxGridDBColumn; iCurRow: integer; ARowInfo: TcxRowInfo;begin colName := cxGrid1DBTableView1.GetColumnByFieldName(constMyColNAME);ifnot Assigned(colName) then exit; cxGrid1DBTableView1.BeginUpdate; tryfor iCurRow := 0 to Pred(cxGrid1DBTableView1.DataController.RowCount) dobegin ARowInfo := cxGrid1DBTableView1.DataController.GetRowInfo(iCurRow);if ARowInfo.Level < cxGrid1DBTableView1.DataController.Groups.GroupingItemCount then Continueelsebegin//если есть нужное значение, закрепляем строкуif cxGrid1DBTableView1.DataController.Values[ARowInfo.RecordIndex, colName.Index] = 'my value 123'then cxGrid1DBTableView1.DataController.RowFixedState[iCurRow] := rfsFixedToTop;end;end;// forfinally cxGrid1DBTableView1.EndUpdate;end;end;
Ист:
https://www.devexpress.com/Support/Center/Question/Details/K18187/how-to-fix-a-row
http://www.sql.ru/forum/1296597/cxgrid-fixed-data-rows