HI,
In my application, I want RadtreeView in one of the column of radgridview.
When user click perticular columns cell then RadTreeView Should be populate..
And User should be able to select any node(value) from the Radtreeview (having datasource) which
will be the cells value......
Is it possible in Radgridview?
Thanks.....
In my application, I want RadtreeView in one of the column of radgridview.
When user click perticular columns cell then RadTreeView Should be populate..
And User should be able to select any node(value) from the Radtreeview (having datasource) which
will be the cells value......
Is it possible in Radgridview?
Thanks.....
9 Answers, 1 is accepted
0
Hi Somnath,
Yes, it is possible to host a RadTreeView control in RadGridView cells. However, controls are slow and using a lot of them can slow down the grid and will cause visual glitches when scrolling. This is because controls cannot be clipped in WinForms. Could you please elaborate a bit more and describe in detail what exactly you want to achieve. We will be glad to find the best option in this case.
I am looking forward to your reply.
Best wishes,
Jack
the Telerik team
Yes, it is possible to host a RadTreeView control in RadGridView cells. However, controls are slow and using a lot of them can slow down the grid and will cause visual glitches when scrolling. This is because controls cannot be clipped in WinForms. Could you please elaborate a bit more and describe in detail what exactly you want to achieve. We will be glad to find the best option in this case.
I am looking forward to your reply.
Best wishes,
Jack
the Telerik team
0
Somnath
Top achievements
Rank 1
answered on 24 Jan 2011, 07:56 AM
Hello,
In this Case, I have a gridview which contain four columns--- Company (GridViewComboBoxColumn),Account(GridViewComboBoxColumn),,Memo(GridViewTextBoxColumn), and CustomerType(GridViewComboBoxColumn),.
In Account column,there is 47 different Accounts----
15 belongs to Expence Type-- e.g( [Expence] Rent Expence)
15 Belongs to Income Type--e.g([Income] Investment Income)
15 Belongs to Bank Type-- e.g([Bank] Cash Account1)
2 Belongs to Other Type-- e.g([Other] Other CurrentLiab.)
But, I want-- when user click Account column ,it should display Radtreeview with
----Expence Type
Income Type
Bank Type
Other Type . options(node)
And when click any Type then it should display perticular Types Accounts Only....
Waiting for your reply.....
Thank You
In this Case, I have a gridview which contain four columns--- Company (GridViewComboBoxColumn),Account(GridViewComboBoxColumn),,Memo(GridViewTextBoxColumn), and CustomerType(GridViewComboBoxColumn),.
In Account column,there is 47 different Accounts----
15 belongs to Expence Type-- e.g( [Expence] Rent Expence)
15 Belongs to Income Type--e.g([Income] Investment Income)
15 Belongs to Bank Type-- e.g([Bank] Cash Account1)
2 Belongs to Other Type-- e.g([Other] Other CurrentLiab.)
But, I want-- when user click Account column ,it should display Radtreeview with
----Expence Type
Income Type
Bank Type
Other Type . options(node)
And when click any Type then it should display perticular Types Accounts Only....
Waiting for your reply.....
Thank You
0
Hello Somnath,
In this case you can show a custom editor which will open the tree view control as popup. I prepared a small example, please check the code below:
I hope this helps. If you have further questions, do not hesitate to ask.
Greetings,
Jack
the Telerik team
In this case you can show a custom editor which will open the tree view control as popup. I prepared a small example, please check the code below:
void
radGridView1_EditorRequired(
object
sender, EditorRequiredEventArgs e)
{
if
(
this
.radGridView1.CurrentColumn.Name ==
"Name"
)
{
e.EditorType =
typeof
(TreeEditor);
}
}
public
class
TreeEditor: BaseGridEditor
{
public
override
object
Value
{
get
{
TreeEditorElement treeElement =
this
.EditorElement
as
TreeEditorElement;
RadTreeNode treeNode = treeElement.TreeView.SelectedNode;
if
(treeNode !=
null
)
{
return
treeNode.Text;
}
return
""
;
}
set
{
TreeEditorElement treeElement =
this
.EditorElement
as
TreeEditorElement;
RadTreeNode treeNode = FindTreeNode(treeElement.TreeView.Nodes[0], value
as
string
);
if
(treeNode !=
null
)
{
treeNode.Selected =
true
;
treeElement.Button.Text = value
as
string
;
}
else
{
treeElement.Button.Text =
""
;
}
}
}
public
override
void
BeginEdit()
{
base
.BeginEdit();
TreeEditorElement treeElement =
this
.EditorElement
as
TreeEditorElement;
treeElement.Button.ShowDropDown();
}
protected
override
RadElement CreateEditorElement()
{
return
new
TreeEditorElement();
}
private
RadTreeNode FindTreeNode(RadTreeNode node,
string
value)
{
if
(node.Text == value)
{
return
node;
}
foreach
(RadTreeNode subNode
in
node.Nodes)
{
RadTreeNode found = FindTreeNode(subNode, value);
if
(found !=
null
)
{
return
found;
}
}
return
null
;
}
}
public
class
TreeEditorElement: RadHostItem
{
public
TreeEditorElement():
base
(
new
RadDropDownButton())
{
this
.Button.Items.Add(
new
TreeMenuItem());
TreeView.MouseUp +=
new
MouseEventHandler(treeView_MouseUp);
TreeView.Nodes.Add(
new
RadTreeNode(
"Root"
));
TreeView.Nodes[0].Nodes.Add(
new
RadTreeNode(
"Item 1"
));
TreeView.Nodes[0].Nodes.Add(
new
RadTreeNode(
"Item 2"
));
TreeView.ExpandAll();
}
void
treeView_MouseUp(
object
sender, MouseEventArgs e)
{
this
.Button.HideDropDown();
(
this
.Parent
as
GridCellElement).GridViewElement.EditorManager.EndEdit();
}
public
RadDropDownButton Button
{
get
{
return
(RadDropDownButton)
this
.HostedControl; }
}
public
RadTreeView TreeView
{
get
{
return
(RadTreeView)((RadMenuHostItem)
this
.Button.Items[0]).HostedControl; }
}
}
public
class
TreeMenuItem: RadMenuHostItem
{
public
TreeMenuItem():
base
(
new
RadTreeView()) {}
protected
override
SizeF MeasureOverride(SizeF availableSize)
{
base
.MeasureOverride(availableSize);
return
new
SizeF(100, 100);
}
}
I hope this helps. If you have further questions, do not hesitate to ask.
Greetings,
Jack
the Telerik team
0
Somnath
Top achievements
Rank 1
answered on 27 Jan 2011, 12:16 PM
Hello,
Please, let me know how to bind Data Source to nodes of treeview
with Example.
Thank You
Please, let me know how to bind Data Source to nodes of treeview
with Example.
Thank You
0
Accepted
Hi Somnath,
You can bind the RadTreeView editor control using the DataSource property. Here is a simple example using the Employee table from the AdventureWorks database:
private
void
button2_Click(
object
sender, EventArgs e)
{
treeElement.TreeView.DataSource =
this
.employeeBindingSource;
treeElement.TreeView.DisplayMember =
"Title"
;
treeElement.TreeView.ParentIDMember =
"ManagerID"
;
treeElement.TreeView.ValueMember =
"EmployeeID"
;
treeElement.TreeView.FullRowSelect =
true
;
}
Kind regards,
Julian Benkov
the Telerik team
0
Mohamed
Top achievements
Rank 1
answered on 21 Oct 2013, 12:43 PM
How can i get the treeview control from radgridview row ?
what i want is to get the nodes that have been selected for every row in the radgridview
if there's a code about how i can do this , i will be appreciated
what i want is to get the nodes that have been selected for every row in the radgridview
if there's a code about how i can do this , i will be appreciated
0
Hello Mohamed,
Thank you for contacting Telerik Support.
Please find attached a sample project implementing the functionality demonstrated in the attached video (drag and drop over the browser to play). Note that you have access to the treeview in edit mode only.
I hope this information helps. Should you have further questions, I would be glad to help.
Regards,
Desislava
Telerik
Thank you for contacting Telerik Support.
Please find attached a sample project implementing the functionality demonstrated in the attached video (drag and drop over the browser to play). Note that you have access to the treeview in edit mode only.
I hope this information helps. Should you have further questions, I would be glad to help.
Regards,
Desislava
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for WINFORMS.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
0
Mohamed
Top achievements
Rank 1
answered on 06 Nov 2013, 12:07 PM
that is not what i wanted
i have a radgridview that has a column of type GridViewComboBoxColumn that itself has a treeview in it ,i followed the example in this post of how i can add a treeview in radgridview , and it works just fine ,now i want to iterate over the radgridview rows to get the selected nodes in the treeview for each row , so i can save the nodes' id to the Database when i click save button
how can i do that ?
thanks in advance
i have a radgridview that has a column of type GridViewComboBoxColumn that itself has a treeview in it ,i followed the example in this post of how i can add a treeview in radgridview , and it works just fine ,now i want to iterate over the radgridview rows to get the selected nodes in the treeview for each row , so i can save the nodes' id to the Database when i click save button
how can i do that ?
thanks in advance
0
Hello Mohamed,
Thank you for writing back.
The provided example in this forum thread concerns modifying the default editor with inserting a RadTreeView in the drop down list only. As I explained in my previous post, you have access to the exact tree view in edit mode only. You can not get the selected nodes for each row. In the current sample version, TreeEditor.Value is modified according to each node.Text. After edit operation has been finished, you can modify cell value on a way to indicate which are the selected nodes and to be able to save their IDs in a database. The other option that you have is to implement a custom cell which can achieve your exact requirement. You can find more information about custom cells in our Creating custom cells help article.
I hope this information helps. Please do not hesitate to contact us if you have any additional questions.
Regards,
Desislava
Telerik
Thank you for writing back.
The provided example in this forum thread concerns modifying the default editor with inserting a RadTreeView in the drop down list only. As I explained in my previous post, you have access to the exact tree view in edit mode only. You can not get the selected nodes for each row. In the current sample version, TreeEditor.Value is modified according to each node.Text. After edit operation has been finished, you can modify cell value on a way to indicate which are the selected nodes and to be able to save their IDs in a database. The other option that you have is to implement a custom cell which can achieve your exact requirement. You can find more information about custom cells in our Creating custom cells help article.
I hope this information helps. Please do not hesitate to contact us if you have any additional questions.
Regards,
Desislava
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for WINFORMS.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>