Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > ActiveX COM > Report Control
  New Posts New Posts RSS Feed - SOLVED:HitTest
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

SOLVED:HitTest

 Post Reply Post Reply
Author
Message
JamGodz View Drop Down
Groupie
Groupie
Avatar

Joined: 25 February 2010
Status: Offline
Points: 67
Post Options Post Options   Thanks (0) Thanks(0)   Quote JamGodz Quote  Post ReplyReply Direct Link To This Post Topic: SOLVED:HitTest
    Posted: 19 September 2010 at 7:52pm
Hi Everyone! or Aaron

why is it the hitItem in VirtualMode doesn't display a value/caption.

Dim hitItem As ReportRecordItem
    'Returns a reference to the item clicked
    'Determines which row the mouse was positioned over on mousedown.
    Set hitItem = wndReportControl.HitTest(X, Y).Item
    If Not hitItem Is Nothing Then
        If Not wndReportControl.PreviewMode Then
            Debug.Print "MouseDown on Item: " & hitItem.Value & " in column: " & hitColumn.Caption
        ElseIf Not (hitRow.Record.PreviewText = "") Then
            Debug.Print "MouseDown on PreviewText"
        End If
    End If

Back to Top
SuperMario View Drop Down
Admin Group
Admin Group
Avatar

Joined: 14 February 2004
Status: Offline
Points: 18057
Post Options Post Options   Thanks (0) Thanks(0)   Quote SuperMario Quote  Post ReplyReply Direct Link To This Post Posted: 20 September 2010 at 3:59pm
In VM rows don't really have data, the data is drawn in using the BeforeDrawRow event.  So you would need to use the column\row indexes to calculate which data this is.
Back to Top
JamGodz View Drop Down
Groupie
Groupie
Avatar

Joined: 25 February 2010
Status: Offline
Points: 67
Post Options Post Options   Thanks (0) Thanks(0)   Quote JamGodz Quote  Post ReplyReply Direct Link To This Post Posted: 20 September 2010 at 8:51pm
Hi SuperMario! Good Day!

thanks you for your reply... is there any other way to get the hitTest in VM? or any workaround?
please...

thanks?


Back to Top
Aaron View Drop Down
Senior Member
Senior Member
Avatar

Joined: 29 January 2008
Status: Offline
Points: 2192
Post Options Post Options   Thanks (0) Thanks(0)   Quote Aaron Quote  Post ReplyReply Direct Link To This Post Posted: 21 September 2010 at 3:57am
Originally posted by JamGodz JamGodz wrote:

Hi SuperMario! Good Day!

thanks you for your reply... is there any other way to get the hitTest in VM? or any workaround?
please...

thanks?


 
Hi,
 
How do you show data in ReportControl Virtualmode? I guess you have somekind of array, right? If you have an array you are able to retrieve the data by accessing the array:
 
Dim hitRow As XtremeReportControl.ReportRow
Dim hitColumn As XtremeReportControl.ReportColumn
 
Set hitRow = wndReportControl.HitTest(x, y).Row
Set hitColumn = wndReportControl.HitTest(x, y).Column

    If Not hitColumn Is Nothing and not HitRow is nothing Then
         Debug.Print "MouseDown on Item: " & myArray(hitColumn.ItemIndex, hitRow.Index)
    End If
 
 
If this doesn't help please upload sample project and add some info to what you need Wink
 
 
To SuperMario: Would it be possible to return Item.Caption as well? HitTest is already returning ReportItem.Index or do you calculate index on the fly?
 
Thanks
 
Product: Xtreme SuitePro (ActiveX) version 15.0.2
Platform: Windows XP (32bit) - SP 2
Language: Visual Basic 6.0

Zero replies is not an option....
Back to Top
JamGodz View Drop Down
Groupie
Groupie
Avatar

Joined: 25 February 2010
Status: Offline
Points: 67
Post Options Post Options   Thanks (0) Thanks(0)   Quote JamGodz Quote  Post ReplyReply Direct Link To This Post Posted: 21 September 2010 at 8:08am
Hi Aaron!

Im using the code below to retrieve data in database...:

Private Const COLUMN_APHC = 0
Private Const COLUMN_PLTRNAME = 1
Private Const COLUMN_HDANAME = 2
Private Const COLUMN_LKG = 3
Private Const COLUMN_NETCANE = 4
Private Const COLUMN_ESTIMATED = 5
Private Const COLUMN_PROGRESS = 6
Private Const COLUMN_ICON_STATUS = 7

Dim sSplit As Variant

Private Sub Form_Load()
   sSplit = Array("APHCODE", "PLTR_NAME", "HDA_NAME", "T_LKG", "T_NET_CANE", "ESTIMATED", "PROGRESS")
    rs.Open SQLParser.SQLStatement, ConnectTo.InternalConn, adOpenStatic, adLockOptimistic
    CustomizeRepCtrl
    If rs.RecordCount > 0 Then  rs.MoveFirst
    With wndList
        .SetVirtualMode rs.RecordCount
        .Populate
        .Redraw
    End With
End Sub
Private Sub wndList_BeforeDrawRow(ByVal Row As XtremeReportControl.IReportRow, ByVal Item As XtremeReportControl.IReportRecordItem, ByVal Metrics As XtremeReportControl.IReportRecordItemMetrics)

    If Row.Index < rs.RecordCount Then
        rs.AbsolutePosition = Row.Index + 1: rs.Move 0
        Select Case Item.Index
        Case COLUMN_APHC, COLUMN_PLTRNAME, COLUMN_HDANAME, COLUMN_LKG,
                Metrics.Text = rs.Fields(sSplit(Item.Index)).Value & ""
            End If
        End Select
    End If
End Sub
Private Sub CustomizeRepCtrl()
    Dim Column As ReportColumn
    Set Column = wndList.Columns.Add(COLUMN_ICON_STATUS, "ICONSTATUS", 18, False)
        Column.Editable = False
        Column.Icon = COLUMN_BLACK_ICON
    Set Column = wndList.Columns.Add(COLUMN_APHC, "APHCODE", 100, True)
        Column.Editable = False
    Set Column = wndList.Columns.Add(COLUMN_PLTRNAME, "Planter Name", 400, True)
        Column.Editable = False
    Set Column = wndList.Columns.Add(COLUMN_HDANAME, "HDA Name", 200, True)
        Column.Editable = False
    Set Column = wndList.Columns.Add(COLUMN_LKG, "LKG", 70, True)
        Column.Editable = False
    Set Column = wndList.Columns.Add(COLUMN_NETCANE, "NET CANE", 70, True)
        Column.Editable = False
    Set Column = wndList.Columns.Add(COLUMN_ESTIMATED, "EST. NET CANE", 100, True)
        Column.Editable = True
        Column.EditOptions.SelectTextOnEdit = True
    With wndList   
        .PaintManager.ColumnStyle = xtpColumnOffice2007
        .EnableMarkup = True
        .PaintManager.DrawGridForEmptySpace = True
        .PaintManager.VerticalGridStyle = xtpGridSmallDots
        .PaintManager.HorizontalGridStyle = xtpGridSmallDots
        .SetCustomDraw xtpCustomBeforeDrawRow
        .SetVirtualMode 0
    End With
End Sub

Private Sub wndList_BeginEdit(ByVal Row As XtremeReportControl.IReportRow, ByVal Column As XtremeReportControl.IReportColumn, ByVal Item As XtremeReportControl.IReportRecordItem)
    Dim i As Integer
    rs.AbsolutePosition = (Row.Index + 1): rs.Move 0
    For i = 0 To UBound(sSplit())
        ReDim Preserve strItemVal(0 To i)
        strItemVal(i) = rs.Fields(sSplit(i)).Value & ""
    Next i
End Sub

Please let me know if have mistaken something... thanks
Back to Top
Aaron View Drop Down
Senior Member
Senior Member
Avatar

Joined: 29 January 2008
Status: Offline
Points: 2192
Post Options Post Options   Thanks (0) Thanks(0)   Quote Aaron Quote  Post ReplyReply Direct Link To This Post Posted: 21 September 2010 at 8:41am
Hi,
 
Something like:
 
Private Sub wndReportControl_MouseDown(Button As Integer, Shift As Integer, x As Long, y As Long)
Dim hitRow As XtremeReportControl.ReportRow
Dim hitColumn As XtremeReportControl.ReportColumn
 
On Error GoTo myerror
    Set hitRow = wndReportControl.HitTest(x, y).Row
    Set hitColumn = wndReportControl.HitTest(x, y).Column
    
    rs.AbsolutePosition = hitRow.Index
    rs.Move 0
       
    If Not hitRow Is Nothing Then
         Debug.Print "MouseDown on Item: " & rs.Fields(hitColumn.ItemIndex).Value
    End If
   
   
myerror:
If Err.Number > 0 Then
    'do something with it !!!
End If
 
 
You will get value of selected "cell" from the recordset itself.
 
 
 
Product: Xtreme SuitePro (ActiveX) version 15.0.2
Platform: Windows XP (32bit) - SP 2
Language: Visual Basic 6.0

Zero replies is not an option....
Back to Top
JamGodz View Drop Down
Groupie
Groupie
Avatar

Joined: 25 February 2010
Status: Offline
Points: 67
Post Options Post Options   Thanks (0) Thanks(0)   Quote JamGodz Quote  Post ReplyReply Direct Link To This Post Posted: 21 September 2010 at 10:13am
thanks... another problem solved!
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.