[Qgis-developer] Support for field aliases in expressions
Matthias Kuhn
matthias.kuhn at gmx.ch
Thu Sep 11 00:28:49 PDT 2014
Hi Michael and Martin,
On Wed 10 Sep 2014 07:38:15 PM CEST, kimaidou wrote:
> Hi all,
>
> I am not sure using alias would be easier for the users. Some thoughts :
>
> * sometimes aliases are quite complicated, like "Contexte de
> l'édition" for a field named "context". We would need to escape
> properly aliases in expressions. And in this example, the real field
> name is much easier and shorter thant the alias
>
> * aliases can vary between projects or even between duplicate layers
> in the same project, whereas field names are stable. If I cannot reuse
> some expression for the same source table because I use different
> aliases, I would spend more time to rewrite the expressions ( except
> if we allow to use both in expression, but the user must then do the
> right choice)
Disabling support for field names is not an option. Support would be
for both in parallel.
Field names can can be written in double quotes already, so the only
thing that will need to be escaped are double quotes (which are
probably rarely used in alias names).
The one thing that needs a decision is what the expression builder
inserts into the expression when the user chooses a field there. I
would not mind making the usage of aliases there optional.
> * I think the problem is more that as soon as you use alias for some
> field, it is then very "difficult" to find back what is the real name
> of the column in the source "table" : aliases are displayed instead of
> the column in every part of the Gui, which is fine but sometimes not
> wanted. For example, I would love to have a button in the attribute
> table which let me toggle between the aliases and the real field names
> as the table header.
They would be listed both in the expression builder: "Alias
(field_name)", so you would have one more place where you have the
combination.
In the attribute table, I would prefer to have it either in a context
menu of the horizontal header. Another approach would be a tooltip
(where I wanted to add the field comment anyway).
>
> 2014-09-10 19:00 GMT+02:00 Martin Dobias <wonder.sk at gmail.com
> <mailto:wonder.sk at gmail.com>>:
>>
> I am just wondering... how the aliases would be made accessible to
> QgsExpression? Would be a map of aliases from vector layer set to each
> QgsExpression instace? Or extend QgsFields to support also aliases? Or
> something completely different? :-)
I did not put any thoughts into the implementation yet. But I was
thinking about the second idea (saving aliases in QgsField) before. I
think it would be better suited there than keeping it separately. Are
you sceptical concerning this approach?
Best
Matthias
More information about the Qgis-developer
mailing list