void CXTPReportGroupRow::UpdateSelectedChilds()
{
	for (int II = 0; II < m_pControl->m_pPlainTree->GetCount(); II++)
	{
		CXTPReportRow* pTRow = m_pControl->m_pPlainTree->GetAt(II);
		if (pTRow)
		{
			if (pTRow->IsGroupRow())
			{
				CXTPReportGroupRow* pTgRow = (CXTPReportGroupRow*) pTRow;
				if (pTgRow->GetChilds(FALSE) && pTgRow->IsExpanded())
				{
					for (int J = 0; J < pTgRow->GetChilds()->GetCount(); J++)
					{
						CXTPReportRow* pChRow = pTgRow->GetChilds(FALSE)->GetAt(J);
						if (pChRow)
						{
							CXTPReportRecord* pChRec = pChRow->GetRecord();
							if (pChRec)
							{
								CXTPReportRow* ptRow = m_pControl->m_pPlainTree->FindInTree(pChRec);
								if (ptRow && !ptRow->IsGroupRow())
									ptRow->SetSelected(pChRec->m_bSelectedAsChildFlag);
							}
						}
					}
				}
			}
		}
	}
}
void CXTPReportGroupRow::SetSelectedChilds()
{
	for (int I = 0; I < m_pSection->m_pTree->GetCount(); I++)
	{
		CXTPReportRow* pTRow = m_pSection->m_pTree->GetAt(I);
		if (pTRow)
		{
			if (pTRow->IsGroupRow())
			{
				CXTPReportGroupRow* pTgRow = (CXTPReportGroupRow*) pTRow;
				if (pTgRow->GetChilds(FALSE) && pTgRow->IsExpanded())
				{
					for (int J = 0; J < pTgRow->GetChilds()->GetCount(); J++)
					{
						CXTPReportRow* pChRow = pTgRow->GetChilds(FALSE)->GetAt(J);
						if (pChRow)
						{
							CXTPReportRecord* pChRec = pChRow->GetRecord();
							if (pChRec)
								pChRec->SetSelected(pChRow->IsSelected());
						}
					}
				}
			}
		}
	}
}