Solved

Open scrolling gridview with record closest to system date using FirstDisplayedScrollingRowIndex

Posted on 2009-04-14
9
657 Views
Last Modified: 2013-11-26
I have a simple gridview with select records which include a date field.  The records include dates both before and after the system date, which are actually dated items entered for an entire year at a time.  I would like my scrolling gridview to open with the top record being the closest match to the current system date, even though there may not be an exact match (no record date matching system date).  But when the user opens the gridview, they will be at the top of the records whose date matches the current system date.  I am not an experienced programmer and have done most of the asp.net web site with Visual Studio 2008 and SQL Server.  I can code a bit but would need some help.  I am pretty sure what I want to do is with FirstDisplayedScrollingRowIndex, but I am not sure how.

Thanks for any help.
0
Comment
Question by:hconant
  • 5
  • 4
9 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 24148230
You have a confusing array of clues:

1) WinForms grid = DataGridView (not GridView)

2) You added this to ASP.NET (which would indicate GridView)

3) You mentioned FirstDisplayedScrollingRowIndex, which applies to DataGridView.

4) You mentioned "ASP.NET web site".

Question clarity, and usable clues make it easier for experts to help get a question answered.

0
 

Author Comment

by:hconant
ID: 24149077
I also said, "I am not an experienced programmer," which is obvious.  Just the same, you have actually shed some light on this and I will try to clarrify the confusion I created.
This is a simple web site I created using Visual Studio 2008.  I am utilizing asp.net controls and the pages are *.aspx.  The view, form, or whatever is a gridview, not a datagridview.  I didn't even know the difference.  I take it from your comment that the FirstDisplayedScrollingRowIndex will not work with what I currently have?  As far as your #4, I am not sure what I should clarrify about that.  The site address is http://blockislandschool.net.  The page i am working on is the Calendar Monthly.  There are only a couple of records at this time since we are just developing this.  But when the DB gets larger, the datagrid will be a hassle because someone just wanting current events would have to scrool through the entire years events.  We choose t his format because it is easy for authorized users to edit and insert.  That is what the "edit" link does.  If there is an easier way that would be fine.  This is just a student project for our small school.
Thanks for your help
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 24149513
Just confirming that we are talking about a GridView and ASP.NET is enough clarification for now.

Are you talking about a GridView in a scrolling <div> element?  If you want to select a row, then you would need to set SelectedIndex to the row index.
0
Resolve Critical IT Incidents Fast

If your data, services or processes become compromised, your organization can suffer damage in just minutes and how fast you communicate during a major IT incident is everything. Learn how to immediately identify incidents & best practices to resolve them quickly and effectively.

 

Author Comment

by:hconant
ID: 24149713
Yes, it is a GridView in a scrolling div element.  I will read up a bit to learn about the SelectedIndex and row index.  Currently I just use the SELECT statement in SQL query for the records I want, and set the sort order the same way, so in this case it sorts by date which is one of the fields. I am not familiar with the entire indexing situation so I guess I need to read up on that.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 24151316
Are you using any paging, because I believe that will be confused with the SelectedIndex?
0
 

Author Comment

by:hconant
ID: 24152610
No paging.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 24153509
I believe that setting GridView.SelectedIndex should be what you are after.
0
 

Author Comment

by:hconant
ID: 24157730
Can you expand upon that a bit?  I do not see how to utilize that in my situation, understanding that I have very little experience in programming.
Thanks
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 500 total points
ID: 24164215
Actually, you will need more than just code-behind.  You are going to need to use a little JavaScript to scroll:

http://forums.asp.net/p/1383518/2934022.aspx

<div runat="Server" id="divIncidentList" style="width:225px; height:400px; overflow:scroll;">
<asp:GridView ID="gvIncidentList" ...

   I then register a StartUp Script Block when the page loads. This JavaScript makes the ScrollTop of the div equal to the offsetTop of the selected row.

If Me.gvIncidentList.SelectedIndex >= 0 Then
   Dim Script As New StringBuilder
   Script.Append("<script language=""javascript"" type=""text/javascript"">" & vbCrLf)
   Script.Append("var r = document.getElementById('" & Me.gvIncidentList.SelectedRow.ClientID & "');" & vbCrLf)
   Script.Append("var d = document.getElementById('" & Me.divIncidentList.ClientID & "');" & vbCrLf)
   Script.Append("d.scrollTop = r.offsetTop;" & vbCrLf)
   Script.Append("</script>")
   Dim cs As ClientScriptManager = Page.ClientScript
   cs.RegisterStartupScript(Me.GetType, "IncidentListBoxLoadScript", Script.ToString)
End If

0

Featured Post

How our DevOps Teams Maximize Uptime

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us. Read the use case whitepaper.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question