Welcome to SPN

Register and Join the most happening forum of Sikh community & intellectuals from around the world.

Sign Up Now!

Sending values from one list box to another list box in Access

Discussion in 'Information Technology' started by millie.patel@gmail.com, Jul 28, 2006.

  1. millie.patel@gmail.com

    millie.patel@gmail.com
    Expand Collapse
    Guest

    Hello,

    I have been thinking of many ways to do this -- and still cannot come
    up with the best way.
    I have a combobox (cboProducts) that has a list of technology products.

    These products are all related to capabilities. I need a way to
    associate the chosen product from the combo box to 1 or many
    capabilities.

    I was originally thinking of doing this the way microsoft has its
    wizard forms (with the single arrow and double arrow select) but was
    unable to figure out how to get it to work.

    I also want the user to be able to see which capbilities are already
    associated with the product (i.e. in the right list box) AND all the
    other capabilities that are not currently associated with the product,
    but eventually could be (i.e. in the left list box)

    Any suggestions/thoughts on how this can be easily done?

    Thanks!

    -M
     
  2. Loading...


  3. Ken Sheridan

    Ken Sheridan
    Expand Collapse
    Guest

    As the relationship between Products and Capabilities is many-to-many you
    should have three tables such as Products, Capabilities and
    ProductCapabilities, the last modelling the relationship between the first
    two by having two foreign key fields, e.g. ProductID and CapabilityID
    referencing the primary keys of the other two.

    The combo box's value should be the primary key of Products, e.g. ProductID
    by having as its RowSource property something like this:

    SELECT ProductID, Product
    FROM Products
    ORDER BY Product;

    Its BoundColumn property should be 1, its ColumnCount 2 and its ColumnWidths
    something like 0cm;8cm (or rough equivalent in inches; the important thing is
    that the first dimension is zero to hide the first column.)

    The list boxes items can be determined by their RowSource properties. For
    the list box of those not associated with the selected product:

    SELECT CapabilityID, Capability
    FROM Capabilities
    WHERE NOT EXISTS
    (SELECT *
    FROM ProductCapabilities
    WHERE ProductCapabilities.CapabilityID = Capabilities.ProductID
    AND ProductCapabilities.ProductID = Form!cboProducts )
    ORDER BY Capability;

    For the list box of capabilities associated with the select product:

    SELECT CapabilityID, Capability
    FROM Capabilities INNER JOIN ProductCapabilities
    ON ProductCapabilities.CapabilityID = Capabilities.CapabilityID
    WHERE ProductCapabilities.ProductID = Form!cboProducts
    ORDER BY Capability;

    Both list boxes' other properties should be the same as those of the combo
    box to hide the first column again.

    In the combo box's AfterUpdate event procedure requery both list boxes:

    Me.lstAssociatedCapabilities.Requery
    Me.lstNotAssociatedCapabilities.Requery

    To move a capability from the not associated to the associated list box
    you'd need some code to insert a row into the ProductCapabilities table, e.g.

    Dim cmd As ADODB.Command
    Dim strSQL As String

    Set cmd = New ADODB.Command
    cmd.ActiveConnection = CurrentProject.Connection
    cmd.CommandType = adCmdText

    ' insert row into table with values of currently selected product
    ' and capability IDs from combo and list box
    strSQL = "INSERT INTO ProductCapabilities (ProductID,CapabilityID) " & _
    "VALUES(" & Me.cboProducts & "," &
    Me.lstNotAssociatedCapabilities & ")"

    cmd.CommandText = strSQL
    cmd.Execute

    ' requery both list boxes
    Me.lstAssociatedCapabilities.Requery
    Me.lstNotAssociatedCapabilities.Requery

    Set cmd = Nothing

    If you wanted to move an item the other way, i.e. disassociate a capability
    from a products then the code would be similar, except that the SQL statement
    would delete a row from the table:

    strSQL = "DELETE * FROM ProductCapabilities" & _
    " WHERE ProductID = " & Me.cboProducts & _
    " AND CapabiltyID = " & Me.lstNotAssociatedCapabilities

    To associate/disassociate all the listed capabilities (the double arrow
    option) you'd need to loop through all the items in the list box and call
    code similar to that above to insert or delete a row for each item. I'd
    suggest that this be subject to user confirmation via a robustly worded
    message box, however. Otherwise it would be all too easy for a user to
    associate or disassociate all capabilities with a product accidentally.

    Ken Sheridan
    Stafford, England

    "millie.patel@gmail.com" wrote:

    > Hello,
    >
    > I have been thinking of many ways to do this -- and still cannot come
    > up with the best way.
    > I have a combobox (cboProducts) that has a list of technology products.
    >
    > These products are all related to capabilities. I need a way to
    > associate the chosen product from the combo box to 1 or many
    > capabilities.
    >
    > I was originally thinking of doing this the way microsoft has its
    > wizard forms (with the single arrow and double arrow select) but was
    > unable to figure out how to get it to work.
    >
    > I also want the user to be able to see which capbilities are already
    > associated with the product (i.e. in the right list box) AND all the
    > other capabilities that are not currently associated with the product,
    > but eventually could be (i.e. in the left list box)
    >
    > Any suggestions/thoughts on how this can be easily done?
    >
    > Thanks!
    >
    > -M
    >
    >
     
  4. strive4peace

    strive4peace
    Expand Collapse
    Guest

    Hi Millie,

    on your form, use comboboxes to drop choices where you would
    want to limit products. For instance, assume the following
    structure:

    *Products*
    ProductID, autonumber
    PID_Manuf, long integer
    PN, text
    Product, text
    Flag, yes/no


    *ProductTechs*
    ProdTechID, autonumber
    ProductID, long integer
    TechID, long integer

    *Technologies*
    TechID, autonumber
    Technology, text

    *People*
    PID, autonumber
    pCatDI, long integer
    MainName, text --> Lastname or company name
    Firstname, text

    *pCats*
    pCatID, autonumber
    pCategory, text (ie: Manufacturer, Human)

    make a form with the foloowing controls:

    combobox:
    label caption --> Technology
    Name --> pickTechID
    ColumnCount --> 2
    ColumnWidths --> 0;2
    ListWidth --> 2
    RowSource -->
    SELECT TechID, Technology
    FROM Technologies
    ORDER BY Technology;

    AfterUpdate -->
    =FilterProducts()

    combobox:
    label caption --> Manufacturer
    Name --> pickManufID
    ColumnCount --> 2
    ColumnWidths --> 0;2
    ListWidth --> 2
    RowSource -->
    SELECT PID, MainName
    FROM People
    WHERE pCatID=3
    ORDER BY MainName;
    (assuming 3 is pCat for Manufacturers)

    AfterUpdate -->
    =FilterProducts()

    listbox:
    label caption --> Product
    Name --> pickProductID
    ColumnCount --> 3
    ColumnWidths --> 0;2;1
    Width --> 3
    RowSource -->
    SELECT ProductID,
    Product,
    PN
    FROM Products
    WHERE flag=true
    ORDER BY Product;

    command button:
    Caption --> Show All Products
    Name --> cmdShowAll
    OnClick -->
    =ShowAll(True)


    put this code behind your form

    '~~~~~~~~~~~~~
    Private Function ShowAll( _
    pBoo As Boolean)

    Dim s As String
    s = "UPDATE Products " _
    & " SET Flag = " & pBoo & ";"
    CurrentDb.Execute s
    If pBoo Then
    Me.pickProductID.Requery
    End If
    End Function

    Private Function FilterProducts()
    ShowAll False
    Dim s As String
    If Not IsNull(Me.pickTechID) Then
    s = "UPDATE Products " _
    & " INNER JOIN ProductTechs " _
    & " ON Products.ProductID = ProductTechs.ProductID " _
    & " SET Products.flag = True " _
    & " WHERE (ProductTechs.TechID" _
    & "=" & Me.pickTechID & ");"
    Debug.Print s
    CurrentDb.Execute s
    End If

    If Not IsNull(Me.pickManufID) Then
    s = "UPDATE PEOPLE " _
    & " INNER JOIN Products " _
    & " ON PEOPLE.PID = Products.PID_manuf " _
    & " SET Products.flag = True " _
    & " WHERE (PEOPLE.PID = " _
    & Me.pickManufID & ");"
    Debug.Print s
    CurrentDb.Execute s
    End If

    CurrentDb.TableDefs.Refresh
    DoEvents

    Me.pickProductID.Requery
    End Function
    '~~~~~~~~~~~~~

    If you make the example I suggested, hopefully, you will see
    how to apply it to your situation

    here is a post with basic SQL

    news://msnews.microsoft.com:119/uQ4OpVogGHA.3652@TK2MSFTNGP02.phx.gbl

    also, read my next post in that thread for running SQL in
    VBA code


    Warm Regards,
    Crystal
    Microsoft Access MVP 2006

    *
    Have an awesome day ;)

    remote programming and training
    strive4peace2006 at yahoo.com

    *

    millie.patel@gmail.com wrote:
    > Hello,
    >
    > I have been thinking of many ways to do this -- and still cannot come
    > up with the best way.
    > I have a combobox (cboProducts) that has a list of technology products.
    >
    > These products are all related to capabilities. I need a way to
    > associate the chosen product from the combo box to 1 or many
    > capabilities.
    >
    > I was originally thinking of doing this the way microsoft has its
    > wizard forms (with the single arrow and double arrow select) but was
    > unable to figure out how to get it to work.
    >
    > I also want the user to be able to see which capbilities are already
    > associated with the product (i.e. in the right list box) AND all the
    > other capabilities that are not currently associated with the product,
    > but eventually could be (i.e. in the left list box)
    >
    > Any suggestions/thoughts on how this can be easily done?
    >
    > Thanks!
    >
    > -M
    >
     
  5. strive4peace

    strive4peace
    Expand Collapse
    Guest

    Hi Ken,

    it is always nice to see how someone else does things,
    thanks... I saw your post after I posted mine...

    Hi Millie,

    rather than using a subquery, as Ken did (which is a good
    way to do things), I added the Flag* field so that you could
    filter on other things too... if you do not need to do that,
    then subqueries are the way to go!

    *I sometimes add a Flag field to table for temporary
    processing -- this does limit the application to
    single-user, but it gives you a way to filter by any table
    you can relate to...


    Warm Regards,
    Crystal
    Microsoft Access MVP 2006

    *
    Have an awesome day ;)

    remote programming and training
    strive4peace2006 at yahoo.com

    *

    Ken Sheridan wrote:
    > As the relationship between Products and Capabilities is many-to-many you
    > should have three tables such as Products, Capabilities and
    > ProductCapabilities, the last modelling the relationship between the first
    > two by having two foreign key fields, e.g. ProductID and CapabilityID
    > referencing the primary keys of the other two.
    >
    > The combo box's value should be the primary key of Products, e.g. ProductID
    > by having as its RowSource property something like this:
    >
    > SELECT ProductID, Product
    > FROM Products
    > ORDER BY Product;
    >
    > Its BoundColumn property should be 1, its ColumnCount 2 and its ColumnWidths
    > something like 0cm;8cm (or rough equivalent in inches; the important thing is
    > that the first dimension is zero to hide the first column.)
    >
    > The list boxes items can be determined by their RowSource properties. For
    > the list box of those not associated with the selected product:
    >
    > SELECT CapabilityID, Capability
    > FROM Capabilities
    > WHERE NOT EXISTS
    > (SELECT *
    > FROM ProductCapabilities
    > WHERE ProductCapabilities.CapabilityID = Capabilities.ProductID
    > AND ProductCapabilities.ProductID = Form!cboProducts )
    > ORDER BY Capability;
    >
    > For the list box of capabilities associated with the select product:
    >
    > SELECT CapabilityID, Capability
    > FROM Capabilities INNER JOIN ProductCapabilities
    > ON ProductCapabilities.CapabilityID = Capabilities.CapabilityID
    > WHERE ProductCapabilities.ProductID = Form!cboProducts
    > ORDER BY Capability;
    >
    > Both list boxes' other properties should be the same as those of the combo
    > box to hide the first column again.
    >
    > In the combo box's AfterUpdate event procedure requery both list boxes:
    >
    > Me.lstAssociatedCapabilities.Requery
    > Me.lstNotAssociatedCapabilities.Requery
    >
    > To move a capability from the not associated to the associated list box
    > you'd need some code to insert a row into the ProductCapabilities table, e.g.
    >
    > Dim cmd As ADODB.Command
    > Dim strSQL As String
    >
    > Set cmd = New ADODB.Command
    > cmd.ActiveConnection = CurrentProject.Connection
    > cmd.CommandType = adCmdText
    >
    > ' insert row into table with values of currently selected product
    > ' and capability IDs from combo and list box
    > strSQL = "INSERT INTO ProductCapabilities (ProductID,CapabilityID) " & _
    > "VALUES(" & Me.cboProducts & "," &
    > Me.lstNotAssociatedCapabilities & ")"
    >
    > cmd.CommandText = strSQL
    > cmd.Execute
    >
    > ' requery both list boxes
    > Me.lstAssociatedCapabilities.Requery
    > Me.lstNotAssociatedCapabilities.Requery
    >
    > Set cmd = Nothing
    >
    > If you wanted to move an item the other way, i.e. disassociate a capability
    > from a products then the code would be similar, except that the SQL statement
    > would delete a row from the table:
    >
    > strSQL = "DELETE * FROM ProductCapabilities" & _
    > " WHERE ProductID = " & Me.cboProducts & _
    > " AND CapabiltyID = " & Me.lstNotAssociatedCapabilities
    >
    > To associate/disassociate all the listed capabilities (the double arrow
    > option) you'd need to loop through all the items in the list box and call
    > code similar to that above to insert or delete a row for each item. I'd
    > suggest that this be subject to user confirmation via a robustly worded
    > message box, however. Otherwise it would be all too easy for a user to
    > associate or disassociate all capabilities with a product accidentally.
    >
    > Ken Sheridan
    > Stafford, England
    >
    > "millie.patel@gmail.com" wrote:
    >
    >
    >>Hello,
    >>
    >>I have been thinking of many ways to do this -- and still cannot come
    >>up with the best way.
    >>I have a combobox (cboProducts) that has a list of technology products.
    >>
    >>These products are all related to capabilities. I need a way to
    >>associate the chosen product from the combo box to 1 or many
    >>capabilities.
    >>
    >>I was originally thinking of doing this the way microsoft has its
    >>wizard forms (with the single arrow and double arrow select) but was
    >>unable to figure out how to get it to work.
    >>
    >>I also want the user to be able to see which capbilities are already
    >>associated with the product (i.e. in the right list box) AND all the
    >>other capabilities that are not currently associated with the product,
    >>but eventually could be (i.e. in the left list box)
    >>
    >>Any suggestions/thoughts on how this can be easily done?
    >>
    >>Thanks!
    >>
    >>-M
    >>
    >>

    >
    >
     
  6. millie.patel@gmail.com

    millie.patel@gmail.com
    Expand Collapse
    Guest

    Thank you so much! That is EXACTLY what I was looking for!

    :) :)

    ~Millie

    Ken Sheridan wrote:
    > As the relationship between Products and Capabilities is many-to-many you
    > should have three tables such as Products, Capabilities and
    > ProductCapabilities, the last modelling the relationship between the first
    > two by having two foreign key fields, e.g. ProductID and CapabilityID
    > referencing the primary keys of the other two.
    >
    > The combo box's value should be the primary key of Products, e.g. ProductID
    > by having as its RowSource property something like this:
    >
    > SELECT ProductID, Product
    > FROM Products
    > ORDER BY Product;
    >
    > Its BoundColumn property should be 1, its ColumnCount 2 and its ColumnWidths
    > something like 0cm;8cm (or rough equivalent in inches; the important thing is
    > that the first dimension is zero to hide the first column.)
    >
    > The list boxes items can be determined by their RowSource properties. For
    > the list box of those not associated with the selected product:
    >
    > SELECT CapabilityID, Capability
    > FROM Capabilities
    > WHERE NOT EXISTS
    > (SELECT *
    > FROM ProductCapabilities
    > WHERE ProductCapabilities.CapabilityID = Capabilities.ProductID
    > AND ProductCapabilities.ProductID = Form!cboProducts )
    > ORDER BY Capability;
    >
    > For the list box of capabilities associated with the select product:
    >
    > SELECT CapabilityID, Capability
    > FROM Capabilities INNER JOIN ProductCapabilities
    > ON ProductCapabilities.CapabilityID = Capabilities.CapabilityID
    > WHERE ProductCapabilities.ProductID = Form!cboProducts
    > ORDER BY Capability;
    >
    > Both list boxes' other properties should be the same as those of the combo
    > box to hide the first column again.
    >
    > In the combo box's AfterUpdate event procedure requery both list boxes:
    >
    > Me.lstAssociatedCapabilities.Requery
    > Me.lstNotAssociatedCapabilities.Requery
    >
    > To move a capability from the not associated to the associated list box
    > you'd need some code to insert a row into the ProductCapabilities table, e.g.
    >
    > Dim cmd As ADODB.Command
    > Dim strSQL As String
    >
    > Set cmd = New ADODB.Command
    > cmd.ActiveConnection = CurrentProject.Connection
    > cmd.CommandType = adCmdText
    >
    > ' insert row into table with values of currently selected product
    > ' and capability IDs from combo and list box
    > strSQL = "INSERT INTO ProductCapabilities (ProductID,CapabilityID) " & _
    > "VALUES(" & Me.cboProducts & "," &
    > Me.lstNotAssociatedCapabilities & ")"
    >
    > cmd.CommandText = strSQL
    > cmd.Execute
    >
    > ' requery both list boxes
    > Me.lstAssociatedCapabilities.Requery
    > Me.lstNotAssociatedCapabilities.Requery
    >
    > Set cmd = Nothing
    >
    > If you wanted to move an item the other way, i.e. disassociate a capability
    > from a products then the code would be similar, except that the SQL statement
    > would delete a row from the table:
    >
    > strSQL = "DELETE * FROM ProductCapabilities" & _
    > " WHERE ProductID = " & Me.cboProducts & _
    > " AND CapabiltyID = " & Me.lstNotAssociatedCapabilities
    >
    > To associate/disassociate all the listed capabilities (the double arrow
    > option) you'd need to loop through all the items in the list box and call
    > code similar to that above to insert or delete a row for each item. I'd
    > suggest that this be subject to user confirmation via a robustly worded
    > message box, however. Otherwise it would be all too easy for a user to
    > associate or disassociate all capabilities with a product accidentally.
    >
    > Ken Sheridan
    > Stafford, England
    >
    > "millie.patel@gmail.com" wrote:
    >
    > > Hello,
    > >
    > > I have been thinking of many ways to do this -- and still cannot come
    > > up with the best way.
    > > I have a combobox (cboProducts) that has a list of technology products.
    > >
    > > These products are all related to capabilities. I need a way to
    > > associate the chosen product from the combo box to 1 or many
    > > capabilities.
    > >
    > > I was originally thinking of doing this the way microsoft has its
    > > wizard forms (with the single arrow and double arrow select) but was
    > > unable to figure out how to get it to work.
    > >
    > > I also want the user to be able to see which capbilities are already
    > > associated with the product (i.e. in the right list box) AND all the
    > > other capabilities that are not currently associated with the product,
    > > but eventually could be (i.e. in the left list box)
    > >
    > > Any suggestions/thoughts on how this can be easily done?
    > >
    > > Thanks!
    > >
    > > -M
    > >
    > >
     
  7. millie.patel@gmail.com

    millie.patel@gmail.com
    Expand Collapse
    Guest

    Since you were SO helpful in my last post, I was wondering if you could
    help me out with one more thing :)

    I have a combobox (name cboProgram);
    Once the program is loaded, a listbox of associated Elements are
    generated.

    The listbox (name lboElement), which has ElementID, ElementName,
    ElementOrder


    When the items appear in the list box, I have the "UP" "DOWN" arrows to

    the left of it to allow the user to change the ElementOrder.


    How can this be done?

    Thanks so much!
     
  8. strive4peace

    strive4peace
    Expand Collapse
    Guest

    Hi Millie,

    are you comfortable with some VBA code? I will have to
    write an example and get back to you on this (trying to
    think of the easiest way to code it so it is more clear for you)

    Email me and request my VBA chapters -- they will give you
    some background for understanding

    Warm Regards,
    Crystal
    Microsoft Access MVP 2006

    *
    Have an awesome day ;)

    remote programming and training
    strive4peace2006 at yahoo.com

    *

    millie.patel@gmail.com wrote:
    > Since you were SO helpful in my last post, I was wondering if you could
    > help me out with one more thing :)
    >
    > I have a combobox (name cboProgram);
    > Once the program is loaded, a listbox of associated Elements are
    > generated.
    >
    > The listbox (name lboElement), which has ElementID, ElementName,
    > ElementOrder
    >
    >
    > When the items appear in the list box, I have the "UP" "DOWN" arrows to
    >
    > the left of it to allow the user to change the ElementOrder.
    >
    >
    > How can this be done?
    >
    > Thanks so much!
    >
     
  9. strive4peace

    strive4peace
    Expand Collapse
    Guest

    Hi Millie,

    try this:

    '~~~~~~~~~~~
    Private function MoveUp()

    if isnull(me.lboElement) then _
    exit function

    dim mElementID as long
    dim mOrder as integer
    dim mOrderFirst as integer
    dim strSQL as string

    mElementID = me.lboElement
    mOrder = me.lboElement.column(2)

    mOrderFirst = nz(dMin( _
    "ElementOrder", _
    "ElementTableName", _
    "ElementID=" & mElementID))

    if mOrder = mOrderFirst then
    msgbox "This item is already first", _
    ,"Can't move"
    exit function
    end if

    strSQL = "UPDATE ElementTableName " _
    & " SET ElementOrder = -999 " _
    & " WHERE ElementID = " & mElementID _
    & " AND ElementOrder = " & mOrder _
    & ";"

    'remove or comment next line after everything works ok
    debug.print strSQL

    currentdb.execute strSQL

    strSQL = "UPDATE ElementTableName " _
    & " SET ElementOrder = " & mOrder _
    & " WHERE ElementID = " & mElementID _
    & " AND ElementOrder = " & (mOrder-1) _
    & ";"

    'remove or comment next line after everything works ok
    debug.print strSQL

    currentdb.execute strSQL

    strSQL = "UPDATE ElementTableName " _
    & " SET ElementOrder = " & (mOrder-1) _
    & " WHERE ElementID = " & mElementID _
    & " AND ElementOrder = -999;"

    'remove or comment next line after everything works ok
    debug.print strSQL

    currentdb.execute strSQL

    currentdb.tabledefs.refresh
    DoEvents

    me.lboElement.requery

    End Function
    '~~~~~~~~~~~

    on the MoveUp button, assign this to the click event:

    =MoveUp()

    I will leave it up to you to write the code to MoveDown...

    '~~~~~~~~~~~
    Whenever you write or paste code, your should ALWAYS compile
    it before you attempt to run it.

    from the menu: Debug, Compile

    fix any errors on the yellow highlighted lines

    keep compiling until nothing happens (this is good!)

    '~~~~~~~~~~~
    ** debug.print ***

    debug.print strSQL

    --> this prints a copy of the SQL statement to the debug
    window (CTRL-G)

    After you execute your code, open the Debug window
    CTRL-G to Goto the debuG window -- look at the SQL statement

    If the SQL statement has an error

    1. Make a new query (design view)

    2. choose View, SQL from the menu
    (or SQL from the toolbar, first icon)

    3. cut the SQL statement from the debug window
    (select, CTRL-X)

    4. paste into the SQL window of the Query
    (CTRL-V)

    5. run ! from the SQL window
    -- Access will tell you where the problem is in the SQL

    '~~~~~~~~~~~~`

    I have assumed that no numbers are skipped in ElementOrder,
    which may not be valid -- if numbers may be skipped the SQL
    would have to be adjusted.


    Warm Regards,
    Crystal
    Microsoft Access MVP 2006

    *
    Have an awesome day ;)

    remote programming and training
    strive4peace2006 at yahoo.com

    *

    strive4peace wrote:
    > Hi Millie,
    >
    > are you comfortable with some VBA code? I will have to write an example
    > and get back to you on this (trying to think of the easiest way to code
    > it so it is more clear for you)
    >
    > Email me and request my VBA chapters -- they will give you some
    > background for understanding
    >
    > Warm Regards,
    > Crystal
    > Microsoft Access MVP 2006
    >
    > *
    > Have an awesome day ;)
    >
    > remote programming and training
    > strive4peace2006 at yahoo.com
    >
    > *
    >
    > millie.patel@gmail.com wrote:
    >
    >> Since you were SO helpful in my last post, I was wondering if you could
    >> help me out with one more thing :)
    >>
    >> I have a combobox (name cboProgram);
    >> Once the program is loaded, a listbox of associated Elements are
    >> generated.
    >>
    >> The listbox (name lboElement), which has ElementID, ElementName,
    >> ElementOrder
    >>
    >>
    >> When the items appear in the list box, I have the "UP" "DOWN" arrows to
    >>
    >> the left of it to allow the user to change the ElementOrder.
    >>
    >>
    >> How can this be done?
    >> Thanks so much!
    >>
     

Share This Page