Active Query Builder support area

When using CustomExpressionBuilder add a property that make the expression/criteria columns read only

Avatar
  • updated
  • Completed

Arrrggh :) This doesn't quite work but I though I would post it anyway as it might provoke a thought

In conjunction with my other two requests about editing SQL output columns with QT and exposing a cell reference in CustomExpressionBuilder so you know exactly which cell the ellipsis was clicked on.

Both of these requests could be 'avoided' if when using the CustomExpressionBuilder the Expression, Criteria and Or cells were all made 'read-only'

By that I mean you can click the ellipsis to launch a custom dialog to do what you like in, even provide a free type text box if one wishes but when the text is returned to the cell, if it is read only, You then know when the user next clicks on the ellipsis the OldExpression value will be as you set it i.e. they can't change it, the custom dialog is in total control

It doesn't get around one really needs to store some metadata to save having to 'reverse engineer' the OldExpression string to populate the custom dialog ..... but at least you would be in control of what you were reverse engineering

Thanks for listening !

Avatar
Andrew Kennard

Thanks very much.

Quote from above ..... "I still think there is a good case when using CustomExpressionBuilder that the Expression/Criteria/Or cells become read-only from the editing point of view ? If one really wants to one can always add a simple text fileld to a custom dialog to allow the user to free type criteria in as this would give the developer much more control"

To be able to do this second part I would need someway of knowing what I am being passed is 'custom' i.e I'm not going to be able to put it through my expression parser to populate my dialog controls, I have to simply place it in a text box as is

Can you think of anyway I could set/get a 'flag' against the cell ?


Avatar
Andrew Kennard

Looking forward to next week :)

Avatar
Andrew Kennard

Do you have a time scale on the things you are currently working on for us ?

Thanks

Avatar
Andrey Zavyalov, PM

The new version will be released this week or Monday next week.

Avatar
Andrew Kennard

Any news chaps ?

I am in the office today and Friday of this week

Thanks

Avatar
Andrey Zavyalov, PM

We've already made the requested properties. Now the only thing that needs to be done to release the new version is the "The GlobalIndent seems to have no effect" bug reported by you. I believe it will be fixed tomorrow.

Avatar
Andrey Zavyalov, PM

Hello,

New properties are added to the SelectListOptions group: UseCustomExpressionBuilder and DisableDirectEditingIn.

Possible values are the following:

  • acColumnExpressions = 1 - apply to Expression column,
  • acColumnConditions = 2, - apply to Criteria and subsequent columns,
  • acColumnExpressions+acColumnConditions = 3 - apply to both.

Please confirm that this is what you've asked for.

Avatar
Andrew Kennard

Thanks very much for this, a few questions .....

1. I just need to check I am not going crazy :) I can't easily check but it appears that the leaning character (space?) on the string returned by OldExpression has been removed ? This is OK but it's just I have code to discard the first character of this string and if I now do that I am missing the = > < etc etc

2. It would be helpful to have two more OLETaqbxAffectedColumns constants i.e.
Define OLEacColumnNone for 0
Define OLEacColumnExpressionsAndConditions for 3

3. Can I just check that the default value for the new UseCustomExpressionBuilder is 3 and the default value for DisableDirectEditingIn is 0. This is OK for us but other might expect both of these to be 0 ?

4. There is still an issue with the focus which i'm not sure if you can help with as I think it is only seen in Dataflex(?). Having returned from my custom expression builder if I click on another criteria cell then I see the "..." and I can click on it and lauch my dialog, good. However if when I return from my dialog I click on the ".." in the SAME cell I get the blue highlight across the FULL width of the cell ie there is no "..." in the cell. If I click again the "..." appears and I click "..." again and my dialog is launched

5. On a separate note I'm not quite sure how I feel about the auto highlight of the text in the cell when DisableDirectEditingIn is set. I does make it very easy to copy the text out and paste into notepad etc BUT as you can't paste it into another cell (editing disabled) is there much use ? If this auto hightlight was disabled in no edit mode by not allowing the cell to take the focus only click the '...' I wonder if this would "fix" point 4. for us above

Thanks again for all your continuted efforts

Avatar

Hi,

you wrote:

1. I just need to check I am not going crazy :) I can't easily check but it appears that the leaning character (space?) on the string returned by OldExpression has been removed ? This is OK but it's just I have code to discard the first character of this string and if I now do that I am missing the = > < etc etc

seems you mean leading character? OldExpression is filled directly from grid cell, no trimming is performed on the cell value. Could you please send me more details on this issue?

2. It would be helpful to have two more OLETaqbxAffectedColumns constants i.e.Define OLEacColumnNone for 0Define OLEacColumnExpressionsAndConditions for 3

done, will be in the next release

3. Can I just check that the default value for the new UseCustomExpressionBuilder is 3 and the default value for DisableDirectEditingIn is 0. This is OK for us but other might expect both of these to be 0 ?

0 in UseCustomExpressionBuilder disables custom dialog for all columns even if the OnCustomExpressionBuilder handler is assigned. Seems better default is to turn it all for all columns

4. There is still an issue with the focus which i'm not sure if you can help with as I think it is only seen in Dataflex(?). Having returned from my custom expression builder if I click on another criteria cell then I see the "..." and I can click on it and lauch my dialog, good. However if when I return from my dialog I click on the ".." in the SAME cell I get the blue highlight across the FULL width of the cell ie there is no "..." in the cell. If I click again the "..." appears and I click "..." again and my dialog is launched

Could you please prepare a small demo where this issue can be reproduced? We will try to debug it then.

5. On a separate note I'm not quite sure how I feel about the auto highlight of the text in the cell when DisableDirectEditingIn is set. I does make it very easy to copy the text out and paste into notepad etc BUT as you can't paste it into another cell (editing disabled) is there much use ? If this auto hightlight was disabled in no edit mode by not allowing the cell to take the focus only click the '...' I wonder if this would "fix" point 4. for us above

Unfortunately, the ellipsis button is shown only when inplace editor is active (this is the behaviour of the grid we using for the SelectList).

Avatar
Andrew Kennard

4. In fact a very quick VB test seems to show a similar result to Dataflex

Modal for is just a form with textbox and button

you will see the return behaviour is different to that of InputBox

Private Sub AxActiveQueryBuilderX1_OnCustomExpressionBuilder(sender As System.Object, e As AxActiveQueryBuilderXControls.IActiveQueryBuilderXEvents_OnCustomExpressionBuilderEvent) Handles AxActiveQueryBuilderX1.OnCustomExpressionBuilder

Dim expr As String
Dim i As Int32

'expr = InputBox("Enter expression", "Expression Builder ActiveX", e.aParams.OldExpression)
'If expr <> e.aParams.OldExpression Then e.aParams.NewExpression = expr
'i = e.aParams.CompletionsList.Count

modalform.Show()

End Sub