treeview etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
treeview etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

select a treenode, and expand all parent nodes of it

select a treenode, and expand all parent nodes of it.

private void SetSelectedNode(int sira)
{
if (sira > 0)
{
TreeNode selectedNode = null;
foreach (TreeNode node in tvMadde.Nodes)
{
if (node.Value == sira.ToString())
{
selectedNode = node;
}

if (selectedNode == null)
{
if (node.ChildNodes.Count > 0)
{
selectedNode = GetNode(node, sira);
}
}
else
{
selectedNode.Checked = true;
selectedNode.Select();
if (selectedNode.Parent != null)
{
// selectedNode.Parent.Expand();
// selectednode'un tüm parent'larını aç
ExpandParent(selectedNode);
}

break;
//return;
}
}

if (selectedNode != null)
{
selectedNode.Checked = true;
selectedNode.Select();
selectedNode.Parent.Expand();
}
}
}

private void ExpandParent(TreeNode childNode)
{
if (childNode.Parent != null)
{
childNode.Parent.Expand();
ExpandParent(childNode.Parent);
}
}

single select asp.net treeview

< asp:TreeView ID="TreeView1" runat="server">

script type="text/javascript" >
function client_OnTreeNodeChecked(event, tree) {
var TreeNode = event.srcElement || event.target;
if (TreeNode.tagName == "INPUT" && TreeNode.type == "checkbox") {
if (TreeNode.checked) {
uncheckOthers(TreeNode.id, tree);
}
}
}

function uncheckOthers(id, tree) {
var elements = document.getDocumentById(tree).getElementsByTagName('input');
// loop through all input elements in form
for (var i = 0; i < elements.length; i++) {
if (elements.item(i).type == "checkbox") {
if (elements.item(i).id != id) {
elements.item(i).checked = false;
}
}
}
}
}
script

private void Page_PreRender(object sender, EventArgs e)
{
TreeView1.Attributes.Add("OnClick", "client_OnTreeNodeChecked(event, '" + TreeView1.ClientID + "')");
}

recursive function

private void BindMenu()
{
if (TreeView1.Nodes.Count == 0)
{
IntertechDBDataContext db = new IntertechDBDataContext();
var pages = db.Pages;

foreach (Page page in pages.Where(p => p.ParentPageID == null))
{
TreeNode node = new TreeNode();
node.Value = page.PageID.ToString();
node.Text = page.Title;
node.NavigateUrl = "~/Admin/Page/Details.aspx?id=" + node.Value;
TreeView1.Nodes.Add(node);

BindChilds(node, page.Pages);
}
}

private static void BindChilds(TreeNode parentNode, EntitySet childs)
{
if (childs.Count > 0)
{
foreach (Page page in childs)
{
TreeNode node = new TreeNode();
node.Value = page.PageID.ToString();
node.Text = page.Title;
node.NavigateUrl = "~/Admin/Page/Details.aspx?id=" + node.Value;
parentNode.ChildNodes.Add(node);

BindChilds(node, page.Pages);
}
}
}

search this blog (most likely not here)