![]() |
Item value (Bug) |
Post Reply ![]() |
Author | |
markmark ![]() Senior Member ![]() Joined: 30 November 2007 Status: Offline Points: 142 |
![]() ![]() ![]() ![]() ![]() Posted: 09 September 2008 at 12:50pm |
Item changes all by its self:
In my example,
If you change the grid value and click away a message box will show.
But the value displayed in the property grid has now redisplayed the original value. Is this a bug? |
|
Product: Xtreme SuitePro (ActiveX) version 13.0.0
Platform: Windows XP (32bit) - SP 2 Language: Visual Basic 6.0 |
|
![]() |
|
Aaron ![]() Senior Member ![]() Joined: 29 January 2008 Status: Offline Points: 2192 |
![]() ![]() ![]() ![]() ![]() |
Hi,
No it isn't Mark.
Not in this event, suppose you would check the entered value and it wouldn't be right, you are able to cancel the change. So the value must be still the same as before changing otherwise you would have to check the old value itself. After this event the value changed event will fire and the value is changed into the entered value. just as you see in your sample when displaying a MessageBox.
Hope this helps
![]() |
|
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.... |
|
![]() |
|
markmark ![]() Senior Member ![]() Joined: 30 November 2007 Status: Offline Points: 142 |
![]() ![]() ![]() ![]() ![]() |
Hi Internally the control does store both values, but to the user they have typed into the control a value and it may be that I am displaying a message box that says are you sure you want to set this value, the user look back at what they have typed only to see it back to the original value while the msgbox is displayed. That can’t be correct. |
|
Product: Xtreme SuitePro (ActiveX) version 13.0.0
Platform: Windows XP (32bit) - SP 2 Language: Visual Basic 6.0 |
|
![]() |
|
Aaron ![]() Senior Member ![]() Joined: 29 January 2008 Status: Offline Points: 2192 |
![]() ![]() ![]() ![]() ![]() |
Hi Mark
Now I understand what you mean. If user types something and you display a messagebox, the original value is displayed again and you can't see what you entered. This is one for CJ to fix
![]() If you really need this, you can use this workaround and in the meantime CJ can fix this
![]() Private Sub pgPropertyGrid_AfterEdit(ByVal Item As XtremePropertyGrid.IPropertyGridItem, NewValue As String, Cancel As Boolean)
Dim oldVal As String
Dim newVal As String oldVal = Item.Value newVal = NewValue pgPropertyGrid.FindItem(Item.Caption).Value = NewValue Dim retval As VbMsgBoxResult
retval = MsgBox("Are you sure you want to change " & oldVal & " into " & newVal & "?", vbOKCancel) If retval = vbCancel Then Cancel = True pgPropertyGrid.FindItem(Item.Caption).Value = oldVal End If End Sub
|
|
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.... |
|
![]() |
|
markmark ![]() Senior Member ![]() Joined: 30 November 2007 Status: Offline Points: 142 |
![]() ![]() ![]() ![]() ![]() |
Thanks Aaron.
Thats a good workaround.
Mark
|
|
Product: Xtreme SuitePro (ActiveX) version 13.0.0
Platform: Windows XP (32bit) - SP 2 Language: Visual Basic 6.0 |
|
![]() |
|
Aaron ![]() Senior Member ![]() Joined: 29 January 2008 Status: Offline Points: 2192 |
![]() ![]() ![]() ![]() ![]() |
Hi Mark,
It's nice to have a workaround if you are going to release your application yourself but and it's only temporary...
It will do nicely for now, but I expect CJ to fix this in next release
![]() |
|
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.... |
|
![]() |
|
Oleg ![]() Admin Group ![]() Joined: 21 May 2003 Location: United States Status: Offline Points: 11234 |
![]() ![]() ![]() ![]() ![]() |
Hi,
AfterEdit don't know if you going to commit this change. Use ValueChanged even instead:
Private Sub pgPropertyGrid_ValueChanged(ByVal Item As XtremePropertyGrid.IPropertyGridItem)
MsgBox "A Message" End Sub |
|
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS |
|
![]() |
|
Aaron ![]() Senior Member ![]() Joined: 29 January 2008 Status: Offline Points: 2192 |
![]() ![]() ![]() ![]() ![]() |
Hi Oleg,
In value change event the value is already set to entered value and checking here I have to know old value and as it behaves now, the value is changed into old value (user doesn't know what value he/she has entered) The workaround I showed could easely be done by you in after edit event. It works OK but don't change value into old value only if cancel = true.
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.... |
|
![]() |
|
Oleg ![]() Admin Group ![]() Joined: 21 May 2003 Location: United States Status: Offline Points: 11234 |
![]() ![]() ![]() ![]() ![]() |
ok :),
btw what point in
pgPropertyGrid.FindItem(Item.Caption).Value = NewValue ?
Why not Item.Value = NewValue
|
|
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS |
|
![]() |
|
Aaron ![]() Senior Member ![]() Joined: 29 January 2008 Status: Offline Points: 2192 |
![]() ![]() ![]() ![]() ![]() |
Hi,
Yes, you are correct Oleg, it's unnecessary
![]() For the ones who will use this until Oleg fixes this:
Private Sub pgPropertyGrid_AfterEdit(ByVal Item As XtremePropertyGrid.IPropertyGridItem, NewValue As String, Cancel As Boolean)
Dim oldVal As String
oldVal = Item.Value
Item.Value = NewValue
Dim retval As VbMsgBoxResult
retval = MsgBox("Are you sure you want to change " & oldVal & " into " & newValue & "?", vbOKCancel) If retval = vbCancel Then Cancel = True Item.Value = oldVal End If End Sub
Thanks a lot
![]() |
|
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.... |
|
![]() |
|
markmark ![]() Senior Member ![]() Joined: 30 November 2007 Status: Offline Points: 142 |
![]() ![]() ![]() ![]() ![]() |
Thanks All
MArk
|
|
Product: Xtreme SuitePro (ActiveX) version 13.0.0
Platform: Windows XP (32bit) - SP 2 Language: Visual Basic 6.0 |
|
![]() |
Post Reply ![]() |
|
Tweet
|
Forum Jump | Forum Permissions ![]() You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |