i have 2 web datagrids that are in a master detail relationship. I currently highlight the most relevant record in the child grid but have been unable to scroll it programatically into view if it is not currenlly visible. I have used selected row to highlight the field and have also set active row to the same field. however, i still have to scroll manually to the highlighted record. How can i get the row that is selected and active to also be visible. tks. i am using VB codebehind to do all of this.
Hello Garry,
You can use ScrollTop property of the WebDataGrid component in order to adjust the scrollbar position according to your requirements. Suppose you have a grid with 30 records and on postback raised by button you would like to select a row form server-side and then scroll to view you can use code similar to to this one below:
Protected Sub Button1_Click(sender As Object, e As EventArgs)
WebDataGrid1.Behaviors.Selection.SelectedRows.Add(WebDataGrid1.Rows(19))
WebDataGrid1.ScrollTop = 380
End Sub
Hope this helps.
Let me know if you have any questions with this?
Thanks.
Any additional info on how to calculate the toprow value? Espeically , how to get row height(s) in code behind to help in accurately positioning the scrollbar?
One row is 20 px but you can consider it as 30 in order to calculate the "footer , header and so on.." because of that I'm calculating 30 * rowIndex
Because the height of the rows changes depending on the content, having a fixed value will not always work. I am experiencing a drift in the positioning as the rows with non standard heights are encountered, causing the selected row to not be in the viewable area by the time i am further down towards the end of the grid. If i could capture the exact height of each preceding row and sum it, any drift would be inconsequential. Is there any way to access the exact row height in vb code behind? If not they i would request that this be made availalbe in a future release and will accept that this approximation is as close as i can get?
Did you ever get an answer to your question?
I'm having the same problem. My grid heights vary depending on the amount of data returned.
Mancusor
Hi Mancusor,
You can use something like this function to scroll to the active cell:
function scrollToActiveCell() { var grid = $find("WebDataGrid1"); grid.get_behaviors().get_activation().get_activeCell().scrollToView();}