Главная страница
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.48 MB
Время: 0.017 c
6-1204868499
МистерТ
2008-03-07 08:41
2009.07.26
Timeout socket`ов возможно изменить ?


15-1242852156
Германн
2009-05-21 00:42
2009.07.26
Копирование таблицы из pdf в doc


11-1204046814
andreil
2008-02-26 20:26
2009.07.26
Как быстро сравнить два файла?


15-1242745618
@!!ex
2009-05-19 19:06
2009.07.26
Програмно сделать GET запрос веб серверу и получить ответ.


2-1243910208
Abcdef123
2009-06-02 06:36
2009.07.26
Как сделать,чтоб форма не показывалась?