Главная страница
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.016 c
2-1243763837
snake-as
2009-05-31 13:57
2009.07.26
Приближение битмапа.


15-1243326751
Василий Жогарев
2009-05-26 12:32
2009.07.26
Архитектурный софт Free (Рисуем бани)


2-1243871211
Максим
2009-06-01 19:46
2009.07.26
TPopUpMenu + WM_COMMAND


15-1243202952
KilkennyCat
2009-05-25 02:09
2009.07.26
Небольшой эксперимент:


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