I need add custom validation (not repeat node name) when user Edit/Add new node.
I try do it with EDITNODE event, but I can get the new name.
All treView and node are created Dynamically
this is my code:
Class1.cs
this code is execute in page_init
RadTreeView radTreeView = new RadTreeView { ID = "tvWorkspace" };
RadTreeNode parentNode = new RadTreeNode(_resources.GetString("Workspace", new CultureInfo(_culture)))
{Expanded = true};
radTreeView.Nodes.Add(parentNode);
List<smWorkspace> workspaceFolder = new smOrganization().GetWorkspace(App.CurrentUserId());
if (workspaceFolder.Count > 0)
{
CreateNodes(workspaceFolder, radTreeView.Nodes[0]);
}
radTreeView.AllowNodeEditing = true;
radTreeView.NodeEdit += RadTreeView1_NodeEdit;
radTreeView.ContextMenus.Add(new ContextMenu().CreateContextMenu());
radTreeView.ContextMenuItemClick += RadTree_Contextmenutitem;
wsTreeview.Controls.Add(radTreeView);
workspaceDiv.Controls.Add(wsTreeview);
protected void RadTreeView1_NodeEdit(object sender, RadTreeNodeEventArgs e)
{
RadTreeNode nodeEdited = e.Node;
string folderId = nodeEdited.Value;
string Name = nodeEdited.Text;
//here I need add Validation By New name and Value.
}
private void CreateNodes(List<smWorkspace> workspaces, RadTreeNode parentnode)
{
int folderId = workspaces[0].FolderId;
RadTreeNode rootParent = new RadTreeNode(workspaces[0].FolderName) {ImageUrl = "~/UI/Images/folder.png"};
parentnode.Nodes.Add(rootParent);
foreach (smWorkspace folder in workspaces)
{
if (folder.FolderId != folderId)
{
folderId = folder.FolderId;
rootParent = new RadTreeNode(folder.FolderName) { ImageUrl = "~/UI/Images/folder.png", Value = folderId.ToString() };
parentnode.Nodes.Add(rootParent);
}else
{
RadTreeNode child = new RadTreeNode(folder.File.FileName);
string extension = Components.CommonFunctions.GetExtensionFile(folder.File.FileFullPath);
child.ImageUrl = CommonFunctions.GetDocumentIcon(extension);
rootParent.Nodes.Add(child);
}
}
}
Value node is FolderId in Database.
how and Where I can add Custom Validation?...
I need show like this:
I try do it with EDITNODE event, but I can get the new name.
All treView and node are created Dynamically
this is my code:
Class1.cs
this code is execute in page_init
RadTreeView radTreeView = new RadTreeView { ID = "tvWorkspace" };
RadTreeNode parentNode = new RadTreeNode(_resources.GetString("Workspace", new CultureInfo(_culture)))
{Expanded = true};
radTreeView.Nodes.Add(parentNode);
List<smWorkspace> workspaceFolder = new smOrganization().GetWorkspace(App.CurrentUserId());
if (workspaceFolder.Count > 0)
{
CreateNodes(workspaceFolder, radTreeView.Nodes[0]);
}
radTreeView.AllowNodeEditing = true;
radTreeView.NodeEdit += RadTreeView1_NodeEdit;
radTreeView.ContextMenus.Add(new ContextMenu().CreateContextMenu());
radTreeView.ContextMenuItemClick += RadTree_Contextmenutitem;
wsTreeview.Controls.Add(radTreeView);
workspaceDiv.Controls.Add(wsTreeview);
protected void RadTreeView1_NodeEdit(object sender, RadTreeNodeEventArgs e)
{
RadTreeNode nodeEdited = e.Node;
string folderId = nodeEdited.Value;
string Name = nodeEdited.Text;
//here I need add Validation By New name and Value.
}
private void CreateNodes(List<smWorkspace> workspaces, RadTreeNode parentnode)
{
int folderId = workspaces[0].FolderId;
RadTreeNode rootParent = new RadTreeNode(workspaces[0].FolderName) {ImageUrl = "~/UI/Images/folder.png"};
parentnode.Nodes.Add(rootParent);
foreach (smWorkspace folder in workspaces)
{
if (folder.FolderId != folderId)
{
folderId = folder.FolderId;
rootParent = new RadTreeNode(folder.FolderName) { ImageUrl = "~/UI/Images/folder.png", Value = folderId.ToString() };
parentnode.Nodes.Add(rootParent);
}else
{
RadTreeNode child = new RadTreeNode(folder.File.FileName);
string extension = Components.CommonFunctions.GetExtensionFile(folder.File.FileFullPath);
child.ImageUrl = CommonFunctions.GetDocumentIcon(extension);
rootParent.Nodes.Add(child);
}
}
}
Value node is FolderId in Database.
how and Where I can add Custom Validation?...
I need show like this: