Peter Kiers
asked on
Select the treeview-node that has been created
HI,
I have this code in the code section to create a new node in a treeview.
And it works like a clock. Only when I make a new node, the node that
has been created is not selected. How can i do that?
Peter
I have this code in the code section to create a new node in a treeview.
And it works like a clock. Only when I make a new node, the node that
has been created is not selected. How can i do that?
Peter
private void tvSample1RightClickInsert(object sender, System.EventArgs e)
{
try
{
TreeNode node = tvNotes.SelectedNode;
if (node == null) { return; }
InsertNewNode(node);
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
}
private void InsertNewNode(TreeNode node)
{
DataRow row = null;
DataRow ParentRow = null;
DataTable dt = null;
int newindex = 0;
try
{
ParentRow = (DataRow)node.Tag;
if (ParentRow == null) { return; }
newindex = int.Parse(ParentRow["SortOrder"].ToString()) + 1;
dt = ParentRow.Table;
row = dt.NewRow();
row["ModelID"] = int.Parse(ParentRow["ModelID"].ToString());
row["NodeID"] = Guid.NewGuid().ToString();
row["ParentNodeID"] = ParentRow[dt.PrimaryKey[0].ColumnName].ToString();
row["Description"] = "New Node";
row["ImageIndex"] = 1;
row["SelectedImageIndex"] = 2;
row["SortOrder"] = newindex;
dt.Rows.Add(row);
node.Nodes.Add(GetTreeNodeFromDataRow(row,"Description"));
}
catch (Exception)
{
throw;
}
}
try this:
node.Nodes.Add(GetTreeNode FromDataRo w(row,"Des cription") );
-->
TreeNode newNode = GetTreeNodeFromDataRow(row ,"Descript ion");
node.Nodes.Add(newNode);
tvNotes.SelectedNode = newNode;
node.Nodes.Add(GetTreeNode
-->
TreeNode newNode = GetTreeNodeFromDataRow(row
node.Nodes.Add(newNode);
tvNotes.SelectedNode = newNode;
ASKER
I haven't put all the code in the code-section.
And to tell you the treu I can't read this code.
P.
And to tell you the treu I can't read this code.
P.
private void tvSample1RightClickInsert(object sender, System.EventArgs e)
{
try
{
TreeNode node = tvNotes.SelectedNode;
if (node == null) { return; }
InsertNewNode(node);
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
}
private void InsertNewNode(TreeNode node)
{
DataRow row = null;
DataRow ParentRow = null;
DataTable dt = null;
int newindex = 0;
try
{
ParentRow = (DataRow)node.Tag;
if (ParentRow == null) { return; }
newindex = int.Parse(ParentRow["SortOrder"].ToString()) + 1;
dt = ParentRow.Table;
row = dt.NewRow();
row["ModelID"] = int.Parse(ParentRow["ModelID"].ToString());
row["NodeID"] = Guid.NewGuid().ToString();
row["ParentNodeID"] = ParentRow[dt.PrimaryKey[0].ColumnName].ToString();
row["Description"] = "New Node";
row["ImageIndex"] = 1;
row["SelectedImageIndex"] = 2;
row["SortOrder"] = newindex;
dt.Rows.Add(row);
node.Nodes.Add(GetTreeNodeFromDataRow(row,"Description"));
}
catch (Exception)
{
throw;
}
}
public static void AddNodeFromDataRow(TreeNode parentNode, DataRow row, string textColumnName, string dataRelationName)
{
try
{
foreach (DataRow childrow in row.GetChildRows(dataRelationName))
{
parentNode.Nodes.Add(GetTreeNodeFromDataRow(childrow, textColumnName));
AddNodeFromDataRow(parentNode.LastNode, childrow, textColumnName, dataRelationName);
}
}
catch (Exception) { throw; }
}
//*----------------------------------------------------------*//
public static TreeNode GetTreeNodeFromDataRow(DataRow row, string textColumnName)
{
TreeNode child = null;
string imageidx = "";
string selimageidx = "";
try
{
if (row.Table.Columns.Contains(ImageIndexColumnName))
{
imageidx = row[ImageIndexColumnName].ToString();
}
if (row.Table.Columns.Contains(SelectedImageIndexColumnName))
{
selimageidx = row[SelectedImageIndexColumnName].ToString();
}
child = new TreeNode();
child.Text = row[textColumnName].ToString().Trim();
if (imageidx.Length > 0)
{
child.ImageIndex = Convert.ToInt32(imageidx);
}
if (selimageidx.Length > 0)
{
child.SelectedImageIndex = Convert.ToInt32(selimageidx);
}
child.Tag = row;
}
catch (Exception) { throw; }
return child;
}
//*----------------------------------------------------------*//
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Yes, your right, it works thank you very much.
Peter
Peter
node.Nodes.Add(GetTreeNode
-->
node.Nodes.Add(newNode)
node.SelectedNode = newNode