In a Parent mdi form I have a datagrid. I select a record
from the grid and then invoke a childmdi form. I add the
childmdi to an arraylist to keep track of it. If a user
has selected multiple records from the grid and has
multiple childmdi forms open and then re-selects a
previously selected record, I want to activate that
childmdi form. Suppose the arraylist contains indexes
0,1,2,3,4 (5 childmdi forms). A user re-selects a child
at index 2. How can I activate that childform?
Pseudocode:
dim arrayfrms As New Arraylist
....
arrayfrms(2).Activate
TIA
Adda 5 1397
Thank you all for not holding my hand on this one :).
Here is what I tried that seems to work:
Dim i As Integer = arrEditNum.BinarySearch(drg1
(cma.Position, 0))
Dim frm As frmEdit = CType(arrEditfrm(i), frmEdit)
frm.Activate()
So I get the position of the record on the grid from the
currency manager and the ID value (at column 0 on the
grid). But I am using 2 arraylists. One list contains
the IDs and the 2nd arraylist contains the forms. I was
thinking about creating a small class object to contain
both items (ID and frm) so I could search on the ID
property and then invoke/activate the frm property of my
little class object in the arraylist. but back to square
one:
i = arrObj(??).BinarySearch(...)
Dim frm as...(arrObj(??))
Any suggestions how to get the values of my class object
from the arrylist greatly appreciated.
Adda -----Original Message----- In a Parent mdi form I have a datagrid. I select a
recordfrom the grid and then invoke a childmdi form. I add the childmdi to an arraylist to keep track of it. If a user has selected multiple records from the grid and has multiple childmdi forms open and then re-selects a previously selected record, I want to activate that childmdi form. Suppose the arraylist contains indexes 0,1,2,3,4 (5 childmdi forms). A user re-selects a child at index 2. How can I activate that childform? Pseudocode: dim arrayfrms As New Arraylist .... arrayfrms(2).Activate
TIA Adda .
What about using a Hashtable. You can add an ID/form pair. And that way
you can index into the hashtable directly by the ID of the row, to get the
corresponding form, and you don't need to keep multiple lists.
"Adda" <an*******@discussions.microsoft.com> wrote in message
news:1b*****************************@phx.gbl... Thank you all for not holding my hand on this one :). Here is what I tried that seems to work:
Dim i As Integer = arrEditNum.BinarySearch(drg1 (cma.Position, 0)) Dim frm As frmEdit = CType(arrEditfrm(i), frmEdit) frm.Activate()
So I get the position of the record on the grid from the currency manager and the ID value (at column 0 on the grid). But I am using 2 arraylists. One list contains the IDs and the 2nd arraylist contains the forms. I was thinking about creating a small class object to contain both items (ID and frm) so I could search on the ID property and then invoke/activate the frm property of my little class object in the arraylist. but back to square one:
i = arrObj(??).BinarySearch(...) Dim frm as...(arrObj(??))
Any suggestions how to get the values of my class object from the arrylist greatly appreciated.
Adda
-----Original Message----- In a Parent mdi form I have a datagrid. I select a recordfrom the grid and then invoke a childmdi form. I add the childmdi to an arraylist to keep track of it. If a user has selected multiple records from the grid and has multiple childmdi forms open and then re-selects a previously selected record, I want to activate that childmdi form. Suppose the arraylist contains indexes 0,1,2,3,4 (5 childmdi forms). A user re-selects a child at index 2. How can I activate that childform? Pseudocode: dim arrayfrms As New Arraylist .... arrayfrms(2).Activate
TIA Adda .
This seems like a good idea. May I ask how I retrieve the
value part of the hashtable?
Dim myHT as Hashtable
myHT.Add(0, child)
....
myHT.Add(1, child)
....
myHT.Add(2, child)
....
Now to activate child form at position 1
Dim frm As frmChild = CType(myHT(?), frmChild)
frm.Activate
Thanks for your reply.
Adda -----Original Message----- What about using a Hashtable. You can add an ID/form
pair. And that wayyou can index into the hashtable directly by the ID of
the row, to get thecorresponding form, and you don't need to keep multiple
lists. "Adda" <an*******@discussions.microsoft.com> wrote in
messagenews:1b*****************************@phx.gbl... Thank you all for not holding my hand on this one :). Here is what I tried that seems to work:
Dim i As Integer = arrEditNum.BinarySearch(drg1 (cma.Position, 0)) Dim frm As frmEdit = CType(arrEditfrm(i), frmEdit) frm.Activate()
So I get the position of the record on the grid from the currency manager and the ID value (at column 0 on the grid). But I am using 2 arraylists. One list contains the IDs and the 2nd arraylist contains the forms. I was thinking about creating a small class object to contain both items (ID and frm) so I could search on the ID property and then invoke/activate the frm property of my little class object in the arraylist. but back to
square one:
i = arrObj(??).BinarySearch(...) Dim frm as...(arrObj(??))
Any suggestions how to get the values of my class object from the arrylist greatly appreciated.
Adda
>-----Original Message----- >In a Parent mdi form I have a datagrid. I select a record >from the grid and then invoke a childmdi form. I add
the >childmdi to an arraylist to keep track of it. If a
user >has selected multiple records from the grid and has >multiple childmdi forms open and then re-selects a >previously selected record, I want to activate that >childmdi form. Suppose the arraylist contains indexes >0,1,2,3,4 (5 childmdi forms). A user re-selects a
child >at index 2. How can I activate that childform? >Pseudocode: >dim arrayfrms As New Arraylist >.... >arrayfrms(2).Activate > >TIA >Adda >. >
.
You have the code correct. You would index it by the ID you gave it when you
added the item. So, 0, 1, or 2 in your case, since you added 3 items, with
those keys. Basically, the first parameter to Add it the key, the second is
the value. So whatever the key was that you are looking for.
Hashtable has complete documentation.
"Adda" <an*******@discussions.microsoft.com> wrote in message
news:1c*****************************@phx.gbl... This seems like a good idea. May I ask how I retrieve the value part of the hashtable?
Dim myHT as Hashtable myHT.Add(0, child) ... myHT.Add(1, child) ... myHT.Add(2, child) ...
Now to activate child form at position 1
Dim frm As frmChild = CType(myHT(?), frmChild) frm.Activate
Thanks for your reply. Adda
-----Original Message----- What about using a Hashtable. You can add an ID/form pair. And that wayyou can index into the hashtable directly by the ID of the row, to get thecorresponding form, and you don't need to keep multiple lists. "Adda" <an*******@discussions.microsoft.com> wrote in
messagenews:1b*****************************@phx.gbl... Thank you all for not holding my hand on this one :). Here is what I tried that seems to work:
Dim i As Integer = arrEditNum.BinarySearch(drg1 (cma.Position, 0)) Dim frm As frmEdit = CType(arrEditfrm(i), frmEdit) frm.Activate()
So I get the position of the record on the grid from the currency manager and the ID value (at column 0 on the grid). But I am using 2 arraylists. One list contains the IDs and the 2nd arraylist contains the forms. I was thinking about creating a small class object to contain both items (ID and frm) so I could search on the ID property and then invoke/activate the frm property of my little class object in the arraylist. but back to square one:
i = arrObj(??).BinarySearch(...) Dim frm as...(arrObj(??))
Any suggestions how to get the values of my class object from the arrylist greatly appreciated.
Adda
>-----Original Message----- >In a Parent mdi form I have a datagrid. I select a record >from the grid and then invoke a childmdi form. I add the >childmdi to an arraylist to keep track of it. If a user >has selected multiple records from the grid and has >multiple childmdi forms open and then re-selects a >previously selected record, I want to activate that >childmdi form. Suppose the arraylist contains indexes >0,1,2,3,4 (5 childmdi forms). A user re-selects a child >at index 2. How can I activate that childform? >Pseudocode: >dim arrayfrms As New Arraylist >.... >arrayfrms(2).Activate > >TIA >Adda >. >
.
This worked perfectly! Many thanks for your help.
Adda -----Original Message----- You have the code correct. You would index it by the ID
you gave it when youadded the item. So, 0, 1, or 2 in your case, since you
added 3 items, withthose keys. Basically, the first parameter to Add it the
key, the second isthe value. So whatever the key was that you are looking
for. Hashtable has complete documentation.
"Adda" <an*******@discussions.microsoft.com> wrote in
messagenews:1c*****************************@phx.gbl... This seems like a good idea. May I ask how I retrieve
the value part of the hashtable?
Dim myHT as Hashtable myHT.Add(0, child) ... myHT.Add(1, child) ... myHT.Add(2, child) ...
Now to activate child form at position 1
Dim frm As frmChild = CType(myHT(?), frmChild) frm.Activate
Thanks for your reply. Adda
>-----Original Message----- >What about using a Hashtable. You can add an ID/form pair. And that way >you can index into the hashtable directly by the ID of the row, to get the >corresponding form, and you don't need to keep multiple lists. > >"Adda" <an*******@discussions.microsoft.com> wrote in message >news:1b*****************************@phx.gbl... >> Thank you all for not holding my hand on this one :). >> Here is what I tried that seems to work: >> >> Dim i As Integer = arrEditNum.BinarySearch(drg1 >> (cma.Position, 0)) >> Dim frm As frmEdit = CType(arrEditfrm(i), frmEdit) >> frm.Activate() >> >> So I get the position of the record on the grid from
the >> currency manager and the ID value (at column 0 on the >> grid). But I am using 2 arraylists. One list
contains >> the IDs and the 2nd arraylist contains the forms. I
was >> thinking about creating a small class object to
contain >> both items (ID and frm) so I could search on the ID >> property and then invoke/activate the frm property
of my >> little class object in the arraylist. but back to square >> one: >> >> i = arrObj(??).BinarySearch(...) >> Dim frm as...(arrObj(??)) >> >> Any suggestions how to get the values of my class
object >> from the arrylist greatly appreciated. >> >> Adda >> >> >> >-----Original Message----- >> >In a Parent mdi form I have a datagrid. I select a >> record >> >from the grid and then invoke a childmdi form. I
add the >> >childmdi to an arraylist to keep track of it. If a user >> >has selected multiple records from the grid and has >> >multiple childmdi forms open and then re-selects a >> >previously selected record, I want to activate that >> >childmdi form. Suppose the arraylist contains
indexes >> >0,1,2,3,4 (5 childmdi forms). A user re-selects a child >> >at index 2. How can I activate that childform? >> >Pseudocode: >> >dim arrayfrms As New Arraylist >> >.... >> >arrayfrms(2).Activate >> > >> >TIA >> >Adda >> >. >> > > > >. >
. This discussion thread is closed Replies have been disabled for this discussion. Similar topics
1 post
views
Thread by geotso |
last post: by
|
4 posts
views
Thread by bughunter |
last post: by
|
2 posts
views
Thread by Randy Harris |
last post: by
|
7 posts
views
Thread by Alex Ting |
last post: by
|
3 posts
views
Thread by george r smith |
last post: by
|
18 posts
views
Thread by JohnR |
last post: by
|
6 posts
views
Thread by fniles |
last post: by
|
3 posts
views
Thread by Christopher H |
last post: by
|
4 posts
views
Thread by =?Utf-8?B?YmFzdWxhc3o=?= |
last post: by
| | | | | | | | | | |