Wednesday 10 December 2014


Share/Bookmark
Introduction

If you are able to subscribe to a mouse click event on a radgridView, then your immediate requirement could be to find the row in which the mouse click event occurred. In this post we will see how to achieve this. If you are not subscribing to mouse click event properly, then you can refer to this post.

How to achieve this?

You can achieve this by querying the source of this event. In our case we will do something like this.
private void GridViewRowMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
  // Either this way

  var senderElement = e.OriginalSource as FrameworkElement;
  var parentRow = senderElement.ParentOfType<GridViewRow>();

  // or this way

  var element = e.Source as FrameworkElement;
  var row = senderElement.ParentOfType<GridViewRow>();           
}

This approach can be applied to all similar controls say RadGridView, RadTreeView etc. Now when you have found the row which the user has clicked, your immediate requirement could be to find the object associated with the row. Say for example if you have found the row and if you want to assign this to the SelectedItem property, then you cannot assign this, this is because to set a selected item, you need to find the exact object which is bound to the row. If you are trying to find the object in the row then you could achieve this like as shown below.

var tag = row as RadRowItem;
object item = tag.Item;

Categories:

0 comments:

Post a Comment

Dear reader, Your comment is always appreciated. I will reply to your queries as soon as possible.

1. Make sure to click on the Subscribe By Email link to be notified of follow up comments and replies. Or you can use Subscribe to: Post Comments (Atom) link.
2. Only English comments shall be approved.
3. Please make your comments self-explanatory. Comment in such a way that it explains the comment so that a counter question can be avoided and can be replied with proper answer on the first go.