Главная страница
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.019 c
15-1242852156
Германн
2009-05-21 00:42
2009.07.26
Копирование таблицы из pdf в doc


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


15-1242846791
Anatoly Podgoretsky
2009-05-20 23:13
2009.07.26
Поговорим об ForeFront Client Security


2-1243837873
Desyatnik
2009-06-01 10:31
2009.07.26
Поиск


2-1244024577
Maxim
2009-06-03 14:22
2009.07.26
Отключение клавиши tab в программе