hi
i have a winform with wingrid 13.2 and having trouble after refreshing the grid. On the grid_mouseup i'm capturing the currently selected cell in the grid to a global variable, but the grid is refreshed after i grab cell. So it looks like my reference to the original cell object is lost. can i deepcopy the object so i don't lose it after refresh?
some code:
void ultraGrid1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { Infragistics.Win.UIElement element = ultraGrid1.DisplayLayout.UIElement.ElementFromPoint(e.Location); _lastUIGridElement = element; // should i deepcopy this obj?
}
really appreciate the help
Thanks
Al
thank you Hristo!
Hello Allen,
You shouldn’t keep reference to UIElements, because they are maintained by the PLF and might be reused, which meant that you might expect it to refer a specific cell on the screen, but it actually is for another cell. So you should modify your code like:
UltraGridCell _lastUIGridElement;
void ultraGrid1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { Infragistics.Win.UIElement element = ultraGrid1.DisplayLayout.UIElement.ElementFromPoint(e.Location); _lastUIGridElement = element.GetContext(typeof(UltraGridCell)) as UltraGridCell;
So if you need to get the UI element in later stage of this cell you could use following line:
_lastUIGridElement. GetUIElement()
Please let me know if you have any further questions.