According to
http://demos.telerik.com/aspnet-ajax/treeview/examples/programming/loadondemandmodes/defaultcs.aspx
I'm using Page Method
But I have a problem, for somes node I need set AllowEdit = False.
I try use this solution
http://www.telerik.com/community/forums/aspnet-ajax/treeview/allowedit-ignored-in-radtreeview.aspx
but this does not load ParentNodes..
How I can set this??
regards,
this is my code (i do all by code)
public UpdatePanel CreateTreeViewObject(Page pg)
{
UpdatePanel updatePanel = new UpdatePanel {ID = "upTreeView", UpdateMode = UpdatePanelUpdateMode.Always};
HtmlGenericControl workspaceDiv = new HtmlGenericControl("DIV") { ID = "WSWorkspace" };
HtmlGenericControl wsTreeview = new HtmlGenericControl("DIV") { ID = "WsTreeView" };
RadTreeView radTreeView = new RadTreeView { ID = "tvWorkspace" };
RadTreeNode parentNode =
new RadTreeNode(_resources.GetString("Workspace", new CultureInfo(_culture)))
{
Expanded = true,
AllowEdit = false,
AllowDrag = false,
AllowDrop = false,
ContextMenuID = "MainContextMenu",
Value = "0"
};
radTreeView.Nodes.Add(parentNode);
LoadRootNodes(parentNode, TreeNodeExpandMode.WebService);
System.Web.HttpContext.Current.Session["tvWorkspace"] = radTreeView;
radTreeView.AllowNodeEditing = true;
radTreeView.MultipleSelect = false;
radTreeView.CheckBoxes = true;
radTreeView.EnableDragAndDrop = true;
radTreeView.EnableDragAndDropBetweenNodes = true;
radTreeView.ContextMenuItemClick += RadTree_Contextmenutitem;
radTreeView.NodeDrop += RadTreeView1_NodeDrop;
radTreeView.NodeCheck += RadTreeView_NodeCheck;
radTreeView.NodeEdit += RadTreeView1_NodeEdit;
//radTreeView.OnClientNodeDataBound = "OnClientNodeDataBoundHandler";
//radTreeView.NodeTemplate = new MyTemplateNode();
radTreeView.ContextMenus.Add(new TreeViewContextMenus().CreateWsContextMenu());
radTreeView.ContextMenus.Add(new TreeViewContextMenus().CreateFolderContextMenu());
radTreeView.ContextMenus.Add(new TreeViewContextMenus().CreateDocumentContextMenu());
radTreeView.ContextMenus.Add(new TreeViewContextMenus().CommonActionMenu());
radTreeView.WebServiceSettings.Path = pg.ID;
radTreeView.WebServiceSettings.Method = "GetNodes";
wsTreeview.Controls.Add(radTreeView);
workspaceDiv.Controls.Add(wsTreeview);
updatePanel.ContentTemplateContainer.Controls.Add(workspaceDiv);
return updatePanel;
}
private static void LoadRootNodes(RadTreeNode parentNode, TreeNodeExpandMode expandMode)
{
List<smFolder> folderLst = new smOrganization().GetParentNodes(App.CurrentUserId());
foreach (smFolder folder in folderLst)
{
RadTreeNode node = new RadTreeNode
{
Text = folder.FolderName,
Value = folder.FolderId.ToString(),
ImageUrl = "~/UI/Images/folder.png",
ExpandMode = expandMode
};
node.Attributes["Type"] = "F";
parentNode.Nodes.Add(node);
}
}
[WebMethod]
public static RadTreeNodeData[] GetNodes(RadTreeNodeData node)
{
List<smWorkspace> childList = new smOrganization().GetChildNodes(Convert.ToInt32(node.Value));
List<RadTreeNodeData> result = new List<RadTreeNodeData>();
foreach (smWorkspace nodeChild in childList)
{
RadTreeNodeData childNode = new RadTreeNodeData();
if (nodeChild.File != null)
{
childNode.Text = nodeChild.File.FileName;
childNode.Value = nodeChild.File.FileId.ToString();
childNode.ImageUrl = "~/UI/Images/folder.png";
childNode.ContextMenuID = "DocumentContextMenu";
childNode.Attributes["Type"] = "D";
childNode.Attributes["path"] = nodeChild.File.FileFullPath;
childNode.Attributes["documnetStatus"] = nodeChild.File.DocumentStatusId.ToString();
childNode.Attributes["securityLevel"] = nodeChild.File.SecurityLevelId.ToString();
childNode.Attributes["AllowEdit"] = false;
string extension = Components.CommonFunctions.GetExtensionFile(nodeChild.File.FileFullPath);
childNode.ImageUrl = CommonFunctions.GetDocumentIcon(extension);
}
else if (nodeChild.Folder != null)
{
childNode.Text = nodeChild.Folder.FolderName;
childNode.Value = nodeChild.Folder.FolderId.ToString();
childNode.ImageUrl = "~/UI/Images/folder.png";
childNode.ContextMenuID = "FolderContextMenu";
childNode.Attributes["Type"] = "F";
}
childNode.ExpandMode = TreeNodeExpandMode.WebService;
result.Add(childNode);
}
return result.ToArray();
}
Julyhttp://www.telerik.com/community/forums/aspnet-ajax/treeview/allowedit-ignored-in-radtreeview.aspx
http://demos.telerik.com/aspnet-ajax/treeview/examples/programming/loadondemandmodes/defaultcs.aspx
I'm using Page Method
But I have a problem, for somes node I need set AllowEdit = False.
I try use this solution
http://www.telerik.com/community/forums/aspnet-ajax/treeview/allowedit-ignored-in-radtreeview.aspx
but this does not load ParentNodes..
How I can set this??
regards,
this is my code (i do all by code)
public UpdatePanel CreateTreeViewObject(Page pg)
{
UpdatePanel updatePanel = new UpdatePanel {ID = "upTreeView", UpdateMode = UpdatePanelUpdateMode.Always};
HtmlGenericControl workspaceDiv = new HtmlGenericControl("DIV") { ID = "WSWorkspace" };
HtmlGenericControl wsTreeview = new HtmlGenericControl("DIV") { ID = "WsTreeView" };
RadTreeView radTreeView = new RadTreeView { ID = "tvWorkspace" };
RadTreeNode parentNode =
new RadTreeNode(_resources.GetString("Workspace", new CultureInfo(_culture)))
{
Expanded = true,
AllowEdit = false,
AllowDrag = false,
AllowDrop = false,
ContextMenuID = "MainContextMenu",
Value = "0"
};
radTreeView.Nodes.Add(parentNode);
LoadRootNodes(parentNode, TreeNodeExpandMode.WebService);
System.Web.HttpContext.Current.Session["tvWorkspace"] = radTreeView;
radTreeView.AllowNodeEditing = true;
radTreeView.MultipleSelect = false;
radTreeView.CheckBoxes = true;
radTreeView.EnableDragAndDrop = true;
radTreeView.EnableDragAndDropBetweenNodes = true;
radTreeView.ContextMenuItemClick += RadTree_Contextmenutitem;
radTreeView.NodeDrop += RadTreeView1_NodeDrop;
radTreeView.NodeCheck += RadTreeView_NodeCheck;
radTreeView.NodeEdit += RadTreeView1_NodeEdit;
//radTreeView.OnClientNodeDataBound = "OnClientNodeDataBoundHandler";
//radTreeView.NodeTemplate = new MyTemplateNode();
radTreeView.ContextMenus.Add(new TreeViewContextMenus().CreateWsContextMenu());
radTreeView.ContextMenus.Add(new TreeViewContextMenus().CreateFolderContextMenu());
radTreeView.ContextMenus.Add(new TreeViewContextMenus().CreateDocumentContextMenu());
radTreeView.ContextMenus.Add(new TreeViewContextMenus().CommonActionMenu());
radTreeView.WebServiceSettings.Path = pg.ID;
radTreeView.WebServiceSettings.Method = "GetNodes";
wsTreeview.Controls.Add(radTreeView);
workspaceDiv.Controls.Add(wsTreeview);
updatePanel.ContentTemplateContainer.Controls.Add(workspaceDiv);
return updatePanel;
}
private static void LoadRootNodes(RadTreeNode parentNode, TreeNodeExpandMode expandMode)
{
List<smFolder> folderLst = new smOrganization().GetParentNodes(App.CurrentUserId());
foreach (smFolder folder in folderLst)
{
RadTreeNode node = new RadTreeNode
{
Text = folder.FolderName,
Value = folder.FolderId.ToString(),
ImageUrl = "~/UI/Images/folder.png",
ExpandMode = expandMode
};
node.Attributes["Type"] = "F";
parentNode.Nodes.Add(node);
}
}
[WebMethod]
public static RadTreeNodeData[] GetNodes(RadTreeNodeData node)
{
List<smWorkspace> childList = new smOrganization().GetChildNodes(Convert.ToInt32(node.Value));
List<RadTreeNodeData> result = new List<RadTreeNodeData>();
foreach (smWorkspace nodeChild in childList)
{
RadTreeNodeData childNode = new RadTreeNodeData();
if (nodeChild.File != null)
{
childNode.Text = nodeChild.File.FileName;
childNode.Value = nodeChild.File.FileId.ToString();
childNode.ImageUrl = "~/UI/Images/folder.png";
childNode.ContextMenuID = "DocumentContextMenu";
childNode.Attributes["Type"] = "D";
childNode.Attributes["path"] = nodeChild.File.FileFullPath;
childNode.Attributes["documnetStatus"] = nodeChild.File.DocumentStatusId.ToString();
childNode.Attributes["securityLevel"] = nodeChild.File.SecurityLevelId.ToString();
childNode.Attributes["AllowEdit"] = false;
string extension = Components.CommonFunctions.GetExtensionFile(nodeChild.File.FileFullPath);
childNode.ImageUrl = CommonFunctions.GetDocumentIcon(extension);
}
else if (nodeChild.Folder != null)
{
childNode.Text = nodeChild.Folder.FolderName;
childNode.Value = nodeChild.Folder.FolderId.ToString();
childNode.ImageUrl = "~/UI/Images/folder.png";
childNode.ContextMenuID = "FolderContextMenu";
childNode.Attributes["Type"] = "F";
}
childNode.ExpandMode = TreeNodeExpandMode.WebService;
result.Add(childNode);
}
return result.ToArray();
}
Julyhttp://www.telerik.com/community/forums/aspnet-ajax/treeview/allowedit-ignored-in-radtreeview.aspx