![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
cxGrid как SelectedRecordCount на нижнем уровне [D2005, XP]
девушка © (2009-06-01 12:10:00)Добрый день!
Использую 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.
девушка (2009-06-01 16:50:00) [1]o_O
Очуметь!
БОЛЬШОЕ СПАСИБО!
Леша (2009-06-01 14:11:00) [2]Вернее cxTableView2 существовать будет. Но он будет только прототипом для детальных вьивов.
Леша (2009-06-01 14:07:00) [3]Дело в том, что 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 12:43:00) [4]OptionsSelection:
CellMultiSelect -false
CellSelect - true
HideSelection - false
HideSelection - false
InvertSelection - true
MultiSelect - true
UnselectFocusetRecordOnExit - false
При аналогичных настройках в верхнем уровне - все работает.
Пробовала играться HideSelection ,
InvertSelection и др. Не помогло
девушка (2009-06-01 12:41:00) [5]
> а cxTableView2.Controller.SelectedRecords?
То же самое - выдает 0.
clickmaker (2009-06-01 12:22:00) [6]> Однако для второго уровня cxTableView2.Controller.SelectedRecordCount
> всегда выдает значение 0.
а cxTableView2.Controller.SelectedRecords?