You can use a css class for treenodes, Insert the content for the popup within a hidden div to each TreeNode and use jquery or javascript to display the divs content on hover.
I am providing a sample so you understand what i mean.
<asp:TreeView ID="LinksTreeView" runat="server" OnTreeNodeDataBound="Data_Bound" >
<NodeStyle CssClass="TreeItem" />
</asp:TreeView>
Please take note of the NodeStyle added. The CSS class 'TreeItem' gets added to anchor tags rendered for each node of treeview. We later use this class to add hover function to node using jquery.
Add a hidden div with required content(replace 'Some Content' with data from Dataset) to Node.text during databind.
void Data_Bound(Object sender, TreeNodeEventArgs e)
{
string Prefix = "<div style='display:none;' class='content'>Some Content</div>";
e.Node.Text = Prefix + e.Node.Text;
}
The following script will alert the contents of the div added to Node.Text. Please customize it for your needs. The script searches inside the anchor tag hovered for a div with class 'content' and alerts its innerHTML.
<script type="text/javascript">
$(document).ready(function() {
$('a.TreeItem').hover(function() {
alert($($(this).find('div.content')).html());
});
});
</script>
Hope this helps.