|
:: MVP ::
|
|
|
:: RSS ::
|
|
|
Как убрать заголовки колонок?
uses
cxGrid;
procedure TForm1.Button1Click(Sender: TObject);
begin
cxGrid1DBTableView1.OptionsView.Header := False;
end;
|
Как убрать панель группировки?
uses
cxGrid;
procedure TForm1.Button1Click(Sender: TObject);
begin
cxGrid1DBTableView1.OptionsView.GroupByBox := False;
end;
|
Как настроить отрисовку границ ячеек?
uses
cxGrid;
procedure TForm1.Button1Click(Sender: TObject);
begin
cxGrid1DBTableView1.OptionsView.GridLines := glBoth;
// Возможные варианты:
// glNone, glHorizontal, glVertical, glBoth
end;
|
Как настроить множественный выбор записей при помощи CheckBox?
uses
cxGrid;
procedure TForm1.Button1Click(Sender: TObject);
begin
// Включаем отображение CheckBox'ов в каждой строке
cxGrid1DBTableView1.OptionsSelection.CheckBoxVisibility := [cbvDataRow, cbvColumnHeader];
// cbvDataRow - для отображения CheckBox'а в строке
// cbvColumnHeader - для отображения CheckBox'а в заголовке
// (для быстрого включения/отключения всех CheckBox'ов)
// cbvGroupRow - для отображения CheckBox'а для групп строк
// Включаем множественный выбор
cxGrid1DBTableView1.OptionsSelection.MultiSelect := True;
// Отключим выбор отдельных ячеек чтобы выбиралась вся строка
cxGrid1DBTableView1.OptionsSelection.CellSelect := False;
// Выберем месторасположение CheckBox'а
cxGrid1DBTableView1.OptionsSelection.CheckBoxPosition := cbpIndicator;
// Возможные варианты:
// cbpFirstColumn - в первой колонке таблицы
// cbpIndicator - в отдельном столбце в начале таблицы,
// для этого нужно включить ColumnsQuickCustomization
cxGrid1DBTableView1.OptionsCustomize.ColumnsQuickCustomization := True;
// Если месторасположением CheckBox'а выбран cbpFirstColumn,
// можно включить динамической отображение CheckBox'а только для выбранных строк
// cxGrid1DBTableView1.OptionsSelection.ShowCheckBoxesDynamically := True;
end;
|
Как включить отображение панели фильтра?
uses
cxGrid;
procedure TForm1.Button1Click(Sender: TObject);
begin
cxGrid1DBTableView1.FilterBox.Visible := fvAlways;
cxGrid1DBTableView1.FilterBox.Position := fpTop;
// Если нужно отключить кнопки дополнительных настроек
cxGrid1DBTableView1.FilterBox.CustomizeDialog := False;
end;
|
Как включить отображение панели поиска?
uses
cxGrid, cxFindPanel;
procedure TForm1.Button1Click(Sender: TObject);
begin
cxGrid1DBTableView1.FindPanel.DisplayMode := fpdmAlways;
// Компактный режим
cxGrid1DBTableView1.FindPanel.Layout := fplCompact;
// Место расположения
cxGrid1DBTableView1.FindPanel.Location := fplGroupByBox;
// fplSeparatePanel - на отдельной панели
// fplGroupByBox - на панели группировки
cxGrid1DBTableView1.FindPanel.Position := fppTop;
// fppTop - над таблицей
// fppBottom - под таблицей (игнорируется при Location=fplGroupByBox)
// Искать в строках группировки
cxGrid1DBTableView1.FindPanel.SearchInGroupRows := True;
end;
|
Как включить отображение панели навигации?
uses
cxGrid;
procedure TForm1.Button1Click(Sender: TObject);
begin
cxGrid1DBTableView1.Navigator.Visible := True;
cxGrid1DBTableView1.Navigator.InfoPanel.Visible := True;
// Можно управлять настройками каждой кнопки через
// cxGrid1DBTableView1.Navigator.Buttons
end;
|
Как отличить строки с данными от других строк (например групп)?
uses
cxGrid;
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to cxGrid1DBTableView1.Controller.SelectedRowCount-1 do
if cxGrid1DBTableView1.Controller.SelectedRows[i].IsData then
ShowMessage('Строка с данными')
else
ShowMessage('Строка без данных (например группа)');
end;
|
Как изменить цвет фона ячейки с использованием стилей?
uses
cxGrid;
// Положить на форму компонент cxStyleRepository и создать в нём 2 стиля,
// первый оставить как есть и назвать его, например, cxStyleDefault,
// второй назвать, например, cxStyleSkyBlueBk и поменять ему цвет
type
TForm1 = class(TForm)
cxStyleRepository1: TcxStyleRepository;
cxStyleDefault: TcxStyle;
cxStyleSkyBlueBk: TcxStyle;
procedure FormCreate(Sender: TObject);
private
public
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
cxStyleSkyBlueBk.Color := clSkyBlue;
end;
// Определить событие Styles.OnGetContentStyle у cxGrid1DBTableView1
procedure TForm1.cxGrid1DBTableView1StylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; var AStyle: TcxStyle);
begin
if Assigned(AItem) and (AItem is TcxGridDBColumn) then
if TcxGridDBColumn(AItem).DataBinding.FieldName.ToLower = 'field_name' then
begin
AStyle := cxStyleDefault;
if ARecord.Values[AItem.Index] <> null then
AStyle := cxStyleSkyBlueBk;
end;
end;
|
|
При использовании материала - ссылка на сайт обязательна
|
|