Tree Collapsing if i delete any node of the Tree.
-
Hi, Iam Using CTreeView to Construct a Tree. If i delete any node in the tree it is collapsing.
void CRunSetView::DeleteFilters(HTREEITEM hselected) { CTreeCtrl& TreeCtrl = GetTreeCtrl(); HTREEITEM Parent = TreeCtrl.GetParentItem(hselected); short nRunsetId = GetItemID(Parent); HTREEITEM ChildItem = TreeCtrl.GetChildItem(hselected); do { short nMapId = GetItemID(ChildItem); CMigratorClient* pManager = GetDocument()->GetManagerPtr(); CMigratorDoc* cmap = GetDocument(); _RecordsetPtr rsMap; rsMap.CreateInstance(__uuidof(Recordset)); CString strSQL; strSQL.Format(_T("SELECT * FROM DQMap WHERE ID = %d"),nMapId); rsMap->Open( _variant_t( strSQL ), _variant_t(( IDispatch *) pManager->GetDatabasePtr(), true), adOpenStatic, adLockOptimistic, adCmdText); if ( !rsMap->GetEndOfFile() ) { CString MapNm = VariantToStr( rsMap->Fields->Item["FilterName"]->Value ); rsMap->Close(); _RecordsetPtr rsMapDQ; rsMapDQ.CreateInstance(__uuidof(Recordset)); strSQL.Format(_T("SELECT * FROM DQMap WHERE FilterName = '%s'"),MapNm); rsMapDQ->Open( _variant_t( strSQL ), _variant_t(( IDispatch *) pManager->GetDatabasePtr(), true), adOpenStatic, adLockOptimistic, adCmdText); while( !rsMapDQ->GetEndOfFile() ) { nMapId = _ttoi( VariantToStr( rsMapDQ->Fields->Item["ID"]->Value )); short mapid; CMigratorClient* pManager = GetDocument()->GetManagerPtr(); pManager->DeleteRunSetMap(nRunsetId,nMapId); cmap->deletefilters(nMapId); rsMapDQ->MoveNext(); } rsMapDQ->Close(); } }while((ChildItem = TreeCtrl.GetNextSiblingItem(ChildItem))!=NULL); HTREEITEM item = GetRootItem(); DeleteItem(item); OnInitialUpdate(); return; }
Plz look at it , give any idea.