добавлено: 25 июн 18
понравилось:0
просмотров: 3316
комментов: 0
теги:
понравилось:0
просмотров: 3316
комментов: 0
теги:
Автор: X11
В версии 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
https://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); if not Assigned(colName) then exit; cxGrid1DBTableView1.BeginUpdate; try for iCurRow := 0 to Pred(cxGrid1DBTableView1.DataController.RowCount) do begin ARowInfo := cxGrid1DBTableView1.DataController.GetRowInfo(iCurRow); if ARowInfo.Level < cxGrid1DBTableView1.DataController.Groups.GroupingItemCount then Continue else begin //если есть нужное значение, закрепляем строку if cxGrid1DBTableView1.DataController.Values[ARowInfo.RecordIndex, colName.Index] = 'my value 123' then cxGrid1DBTableView1.DataController.RowFixedState[iCurRow] := rfsFixedToTop; end; end;// for finally cxGrid1DBTableView1.EndUpdate; end; end;
Ист:
https://www.devexpress.com/Support/Center/Question/Details/K18187/how-to-fix-a-row
https://www.sql.ru/forum/1296597/cxgrid-fixed-data-rows
Комментарии