void XmlTreeView::Refresh() { // Clear the old DOM. m_mapItemNode.clear(); m_mapNodeItem.clear(); Clear(); XML::DocumentPtr pDOM = m_oView.Document().DOM(); tstring strItem = TXT("DOM"); ASSERT(pDOM.get() != nullptr); HTREEITEM hRoot = InsertRootItem(strItem, pDOM->hasChildren(), 0); AddItemNodeMapping(hRoot, pDOM); AddNodeTree(hRoot, *pDOM); }
void CMySuperGrid::_DeleteAll() { DeleteAll();//call CSuperGridCtrl::DeleteAll(); //add some new data CItemInfo* lp = new CItemInfo(); lp->SetImage(4); //add item text lp->SetItemText(_T("New data")); //Create root item CTreeItem * pRoot = InsertRootItem(lp);//previous we call CreateTreeCtrl(lp) if( pRoot == NULL ) return; //insert items int nCol = GetNumCol(); for(int i=0; i < nCol; i++) { CItemInfo* lpItemInfo = new CItemInfo(); CString strItem; strItem.Format(_T("Item %d"),i); //add items text lpItemInfo->SetItemText(strItem); //add subitem text for(int y=0;y < nCol-1; y++) { CString str; str.Format(_T("subItem %d of %s"),y,lpItemInfo->GetItemText()); lpItemInfo->AddSubItemText(str); lpItemInfo->AddSubItemText(str); } //insert the iteminfo with ParentPtr CTreeItem* pParent = InsertItem(pRoot, lpItemInfo); //other nodes if(i%nCol) { CTreeItem* pParent1=NULL; CTreeItem* pParent2=NULL; for(int x=0; x < nCol; x++) { CItemInfo* lpItemInfo = new CItemInfo(); CString strItem; strItem.Format(_T("Item %d"),x); lpItemInfo->SetItemText(strItem); for(int z=0; z < nCol-1; z++) { CString str; str.Format(_T("subItem %d of %s"),z, lpItemInfo->GetItemText()); lpItemInfo->AddSubItemText(str); } pParent1 = InsertItem(pParent, lpItemInfo); } } } //expand one level Expand(pRoot, 0 /*listview index 0*/); UINT uflag = LVIS_SELECTED | LVIS_FOCUSED; SetItemState(0, uflag, uflag); }