Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > ActiveX COM > Report Control
  New Posts New Posts RSS Feed - Report with comboboxes in cell
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Report with comboboxes in cell

 Post Reply Post Reply
Author
Message
Neil View Drop Down
Groupie
Groupie


Joined: 16 December 2007
Status: Offline
Points: 40
Post Options Post Options   Thanks (0) Thanks(0)   Quote Neil Quote  Post ReplyReply Direct Link To This Post Topic: Report with comboboxes in cell
    Posted: 17 January 2008 at 8:53pm
I am trying to create a report, that has cells which contain a combobox (dropdown list).

The column name should specify the items in the list, so that for example, if we have a report containing the following columns:

Column 1: "Sales Man" - permitted values in combo box {Joe, Fred, Barney}
Column 2: "Car Sold" - permitted values in combo box {Nissan, Ford, Ferrari}

I have see from the Report control documentation, that this should be possible, but I can't figure out how to do it - can someone please post a little VB6 sample code that shows how to do this?
Back to Top
jcollier View Drop Down
Senior Member
Senior Member


Joined: 15 February 2006
Status: Offline
Points: 250
Post Options Post Options   Thanks (0) Thanks(0)   Quote jcollier Quote  Post ReplyReply Direct Link To This Post Posted: 22 January 2008 at 9:49am
This should get you started.

Set Column = .Columns.Add(COL_EMPLOYEETYPE, "Employee Type", 80, True)
Column.EditOptions.AddComboButton
Column.EditOptions.ConstraintEdit = True
Column.EditOptions.Constraints.Add "Contract", 1
Column.EditOptions.Constraints.Add "Hourly", 2
Column.EditOptions.Constraints.Add "Salary", 3

Back to Top
Neil View Drop Down
Groupie
Groupie


Joined: 16 December 2007
Status: Offline
Points: 40
Post Options Post Options   Thanks (0) Thanks(0)   Quote Neil Quote  Post ReplyReply Direct Link To This Post Posted: 28 February 2008 at 9:11pm
This code does not work - does anyone else know how to do this? - I am rapidly running out of patience for the so called "support" from CodeJock
Back to Top
Neil View Drop Down
Groupie
Groupie


Joined: 16 December 2007
Status: Offline
Points: 40
Post Options Post Options   Thanks (0) Thanks(0)   Quote Neil Quote  Post ReplyReply Direct Link To This Post Posted: 28 February 2008 at 9:14pm
When I say the code d"does not work", I mean it does NOT display a drop down list in the cell when I click on the cell.

Also, the code as it stands, its pretty useless - I had to add a row (none of the sample code in the help file work), and after fiddling with it for hours, realized I had to call the Populate() method on the control (a single line which would have saved hours of rummaging through the pretty useless documentation)

AND I still can't the damn code to work. DOES anyone else know how to do this?
Back to Top
Neil View Drop Down
Groupie
Groupie


Joined: 16 December 2007
Status: Offline
Points: 40
Post Options Post Options   Thanks (0) Thanks(0)   Quote Neil Quote  Post ReplyReply Direct Link To This Post Posted: 28 February 2008 at 9:15pm
Apologies for all the typos, but I'm getting pretty hot under the collar because of the pretty much non-existent help available for the controls.
Back to Top
jcollier View Drop Down
Senior Member
Senior Member


Joined: 15 February 2006
Status: Offline
Points: 250
Post Options Post Options   Thanks (0) Thanks(0)   Quote jcollier Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 9:18am
Neil,

This code does work.  Why don't you paste your code here and I'll take a look at it.  I use combo boxes in reports all the time.
Back to Top
Neil View Drop Down
Groupie
Groupie


Joined: 16 December 2007
Status: Offline
Points: 40
Post Options Post Options   Thanks (0) Thanks(0)   Quote Neil Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 11:08am
Apologies if I was a bit curt in my last post - I am getting rather desperate, I had assumed that the code snippet would work and so had waited till the last moment to add it to my application - only to find it did not work, and I have a demo presentation on Monday.

I will make a small demo prog and upload it - hopefully you (or someone) may be able to pinpoint why it does not work
Back to Top
jcollier View Drop Down
Senior Member
Senior Member


Joined: 15 February 2006
Status: Offline
Points: 250
Post Options Post Options   Thanks (0) Thanks(0)   Quote jcollier Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 11:36am
Do it quickly.  I'm leaving in a couple of hours for the day but I can take a look at it if you get it here soon.
Back to Top
jcollier View Drop Down
Senior Member
Senior Member


Joined: 15 February 2006
Status: Offline
Points: 250
Post Options Post Options   Thanks (0) Thanks(0)   Quote jcollier Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 11:37am
I am assuming that you are using vb6 with CJ 11.2.2

That's what I'm using
Back to Top
Neil View Drop Down
Groupie
Groupie


Joined: 16 December 2007
Status: Offline
Points: 40
Post Options Post Options   Thanks (0) Thanks(0)   Quote Neil Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 11:45am
Yes, I am using v 11.2

I will put my other work on hold now and do the demo
Back to Top
Neil View Drop Down
Groupie
Groupie


Joined: 16 December 2007
Status: Offline
Points: 40
Post Options Post Options   Thanks (0) Thanks(0)   Quote Neil Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 12:04pm
How do I upload the demo file (zip file) ?

Shall I send it to a email address?
Back to Top
jcollier View Drop Down
Senior Member
Senior Member


Joined: 15 February 2006
Status: Offline
Points: 250
Post Options Post Options   Thanks (0) Thanks(0)   Quote jcollier Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 12:04pm
send it to jcollier@optitekinc.com
Back to Top
Neil View Drop Down
Groupie
Groupie


Joined: 16 December 2007
Status: Offline
Points: 40
Post Options Post Options   Thanks (0) Thanks(0)   Quote Neil Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 12:15pm
Done - thanks
Back to Top
Neil View Drop Down
Groupie
Groupie


Joined: 16 December 2007
Status: Offline
Points: 40
Post Options Post Options   Thanks (0) Thanks(0)   Quote Neil Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 12:18pm
I sent the demo to the email address you kindly provided - I hope you can help point out what I may be doing incorrectly
Back to Top
jcollier View Drop Down
Senior Member
Senior Member


Joined: 15 February 2006
Status: Offline
Points: 250
Post Options Post Options   Thanks (0) Thanks(0)   Quote jcollier Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 12:19pm
I got it.  I've found the problem.  I'm fixing it and will return it shortly.
Back to Top
Neil View Drop Down
Groupie
Groupie


Joined: 16 December 2007
Status: Offline
Points: 40
Post Options Post Options   Thanks (0) Thanks(0)   Quote Neil Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 12:25pm
Thank you
Back to Top
jcollier View Drop Down
Senior Member
Senior Member


Joined: 15 February 2006
Status: Offline
Points: 250
Post Options Post Options   Thanks (0) Thanks(0)   Quote jcollier Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 1:42pm
I sent it back to you.  Let me know if you didn't get it.
Back to Top
Neil View Drop Down
Groupie
Groupie


Joined: 16 December 2007
Status: Offline
Points: 40
Post Options Post Options   Thanks (0) Thanks(0)   Quote Neil Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 3:16pm
Just got it now - I was away for a few hours. I'll give you feedback ASAP.

Thanks
Back to Top
Neil View Drop Down
Groupie
Groupie


Joined: 16 December 2007
Status: Offline
Points: 40
Post Options Post Options   Thanks (0) Thanks(0)   Quote Neil Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 3:31pm
Thanks Jason - it now does EXACTLY what I want it to do.

One last question though, if I may. Do you know how I can restrict the value a user types into the cell of a column (e.g. the 'Age' column), so that only numbers can be typed into that column?

MTIA
Back to Top
jcollier View Drop Down
Senior Member
Senior Member


Joined: 15 February 2006
Status: Offline
Points: 250
Post Options Post Options   Thanks (0) Thanks(0)   Quote jcollier Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 3:39pm
Try this:

Private Sub wndReport_PreviewKeyDown(KeyCode As Integer, ByVal Shift As Integer, Cancel As Boolean)

    If (KeyCode < 48 Or KeyCode > 57) And KeyCode <> 8 Then
        Cancel = True
    End If
    
End Sub

I also noticed an error in the form_load event.  Notice the changes with the constants:

'Create the second column
        Set Column = .Columns.Add(COLUMN_EMPLOYEE_NAME, "Name", DFLT_COL_WIDTH, True)
        Column.Editable = False
       
        'Create the third column
        Set Column = .Columns.Add(COLUMN_EMPLOYEE_AGE, "Age", DFLT_COL_WIDTH, True)
        Column.Editable = True
Back to Top
jcollier View Drop Down
Senior Member
Senior Member


Joined: 15 February 2006
Status: Offline
Points: 250
Post Options Post Options   Thanks (0) Thanks(0)   Quote jcollier Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 3:47pm
Ignore the PreviewKeyDown part.  It's not right.
Back to Top
jcollier View Drop Down
Senior Member
Senior Member


Joined: 15 February 2006
Status: Offline
Points: 250
Post Options Post Options   Thanks (0) Thanks(0)   Quote jcollier Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 3:59pm
Ok.  This is kinda hacked so if someone knows a better way, please let me know.
Add Dim blnNumericOnly As Boolean to General Declaration of the form

Private Sub wndReport_MouseDown(Button As Integer, Shift As Integer, x As Long, y As Long)

    Dim hitItem As ReportRecordItem
   
    Set hitItem = wndReport.HitTest(x, y).Item
   
    If Not hitItem Is Nothing Then
        If hitItem.Index = COLUMN_EMPLOYEE_AGE Then
            blnNumericOnly = True
        Else
            blnNumericOnly = False
        End If
    End If
   
End Sub

Private Sub wndReport_PreviewKeyDown(KeyCode As Integer, ByVal Shift As Integer, Cancel As Boolean)

    If blnNumericOnly = False Then Exit Sub
   
    If (KeyCode < 48 Or KeyCode > 57) And KeyCode <> 8 Then
        Cancel = True
    End If
       
End Sub


Back to Top
Neil View Drop Down
Groupie
Groupie


Joined: 16 December 2007
Status: Offline
Points: 40
Post Options Post Options   Thanks (0) Thanks(0)   Quote Neil Quote  Post ReplyReply Direct Link To This Post Posted: 29 February 2008 at 4:16pm
Hi Jason, MANY MANY thanks for all of your help so far. I had spotted the bug regarding the Column numbers and had fixed it already. The latest code (although not behaving exactly as I want it to), provides more than enough of a framework for me to extend it to do what I want.

Once again, thank you VERY VERY much, and have a nice weekend.
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

This page was generated in 0.172 seconds.