Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Previous SelectedIndex

Posted on 2004-08-25
11
Medium Priority
?
280 Views
Last Modified: 2008-02-01
Hi,

I have an event set to run on SelectedIndexChange.  Is there a way to find out the last index value?  For example if the current index value is 2 and the users selects 5.  Is there a way to return that first value, 2 in this case?

I suppose I could put hidden fields on my form, but I was wondering if there was an easier way.

Ryan
0
Comment
Question by:RySk8er30
  • 5
  • 5
11 Comments
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11893629
nope you would need to maintain it yourself ... I would recommend subclassing the control to add the behavior though ..
0
 

Author Comment

by:RySk8er30
ID: 11893667
How would I do that?
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11893702
inherit from the original control and override some of the functionality.
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11893723
public class myComboBox : ComboBox {
      public int LastSelectedIndex {
             get ...
             set ...
      }

      I would recommend storing the value in viewstate for the control ...

}
0
 

Author Comment

by:RySk8er30
ID: 11893758
Could you be more specific.  I am new to VB.net.

Ryan
0
 
LVL 37

Expert Comment

by:gregoryyoung
ID: 11893818
public class myDropDownList
                  inherits DropDownList

         public property LastSelectedIndex as integer
                  get
                        return m_LastSelectedIndex
                  end get
                  set(byval value as integer)
                         m_LastSelectedIndex = value
                  end get
         end property

         'override the onselectedindexchanged sub to set last selected index'

         'when the control is renderred add lastselectedindex to the viewstate.
end class

if this is just a one out though just do as you mention above and handle it in your code.
0
 

Author Comment

by:RySk8er30
ID: 11893856
How do I do these things...

'override the onselectedindexchanged sub to set last selected index'

'when the control is renderred add lastselectedindex to the viewstate.
0
 
LVL 37

Assisted Solution

by:gregoryyoung
gregoryyoung earned 100 total points
ID: 11893927
there is a method in the class named that override it public overrides sub foo() ... will make you method called instead of the other, you can add functionality this way ... remember to call mybase.method() when you do this.

ViewState["whatever"] = value ... then you can get back the value later ...

If you are not familiar with this stuff I would recommend just doing it in your page as this is much more complex (although reusable)
0
 

Author Comment

by:RySk8er30
ID: 11894053
What is the easiest way to complete my task.  I do not need to reuse anything.  Please be specific.

Ryan
0
 
LVL 7

Accepted Solution

by:
natloz earned 100 total points
ID: 11894248
This is what I do....

'Import required Namespaces
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient

Public Class frmMain
    Inherits System.Windows.Forms.Form

    'Global memory of selected criteria in drop downs
    Private intSelectedBranch As Integer = 0  <---------------THIS

'**********************************
'User has changed the Branch filter
'**********************************
Private Sub cboBranch_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboBranch.SelectedIndexChanged
            If cboBranch.SelectedValue <> Nothing Then
                intSelectedBranch = cboBranch.SelectedValue 'Store global selection memory
            End If
End Sub

------------------
Then if you ever need to set it back eg...

If cboBranch.SelectedValue = 5 then
   cboBranch.SelectedValue = intSelectedBranch
endif
0
 

Author Comment

by:RySk8er30
ID: 11894329
Thanks guys.  I ended up just adding hidden fields to my form.

Ryan
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

I think the Typed DataTable and Typed DataSet are very good options when working with data, but I don't like auto-generated code. First, I create an Abstract Class for my DataTables Common Code.  This class Inherits from DataTable. Also, it can …
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Integration Management Part 2
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…

885 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