Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.26;
Скачать: CL | DM;

Вниз

cxGrid как SelectedRecordCount на нижнем уровне   Найти похожие ветки 

 
девушка   (2009-06-01 12:10) [0]

Добрый день!
Использую cxGrid, в котором есть 2 уровня (master-detail).
На первом уровне вполне работает код типа:

for i:=0 to cxTableView.Controller.SelectedRecordCount - 1 do
begin
//проходимся по выделеным записям
.... cxTableView.Controller.SelectedRecords[i].Values[cxTableView_my_field.Index];

 .....
end;


Однако для второго уровня cxTableView2.Controller.SelectedRecordCount всегда выдает значение 0.


 
clickmaker ©   (2009-06-01 12:22) [1]

> Однако для второго уровня cxTableView2.Controller.SelectedRecordCount
> всегда выдает значение 0.

а cxTableView2.Controller.SelectedRecords?


 
девушка   (2009-06-01 12:41) [2]


> а cxTableView2.Controller.SelectedRecords?


То же самое - выдает 0.


 
девушка   (2009-06-01 12:43) [3]

OptionsSelection:
CellMultiSelect -false
CellSelect - true
HideSelection - false
HideSelection - false
InvertSelection - true
MultiSelect - true
UnselectFocusetRecordOnExit - false

При аналогичных настройках в верхнем уровне - все работает.
Пробовала играться HideSelection ,
InvertSelection  и др. Не помогло


 
Леша ©   (2009-06-01 14:07) [4]

Дело в том, что cxTableView2 существует только в дезайнтайм. В рантайме это уже будет другой вьив, не cxTableView2. Более того, для каждой мастер-записи создается свой вьив.

Вот код, который у меня вытягивает значение из фокусной записи:

function TFrameDetailMachine.GetDocsFromSelectedRow: Variant;
var
 vFocusedRecord: TcxCustomGridRecord;
 vDetailRecordView: TcxCustomGridTableView;
begin
  Result := null;
  vFocusedRecord := GridViewIncludes.Controller.FocusedRecord;
  if not Assigned(vFocusedRecord) then
    Exit;
  if not (vFocusedRecord is TcxGridMasterDataRow) then
    Exit;
  vDetailRecordView := TcxCustomGridTableView(TcxGridMasterDataRow(vFocusedRecord).ActiveDetailGridView );
  if vDetailRecordView = GridViewIncludesDetail then
    Exit; // вставил, чтоб показать
  vFocusedRecord := vDetailRecordView.Controller.FocusedRecord;
  if Assigned(vFocusedRecord) then
    Result :=  vFocusedRecord.Values[GridViewIncludesDetailDocs.Index];
end;


 
Леша ©   (2009-06-01 14:11) [5]

Вернее cxTableView2 существовать будет. Но он будет только прототипом для детальных вьивов.


 
девушка   (2009-06-01 16:50) [6]

o_O
Очуметь!

БОЛЬШОЕ СПАСИБО!



Страницы: 1 вся ветка

Текущий архив: 2009.07.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
2-1243260477
Ega23
2009-05-25 18:07
2009.07.26
DevExpress TcxGrid - как добраться до НД при MultiSelet?


15-1243154276
Full
2009-05-24 12:37
2009.07.26
Где находяться результаты программы chkdsk?


2-1243960373
v1kee
2009-06-02 20:32
2009.07.26
Помогите с динамическим созданием строк


15-1243413974
b/@.
2009-05-27 12:46
2009.07.26
Как нарисовать в иконке оранжевый ?


11-1197097138
zNk
2007-12-08 09:58
2009.07.26
LZMA в MCK