Форум: "Начинающим";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c