Drop down list in table control not registering the value when entering multiple row with similar choice

Hi, I am not quit sure if this is a bug or mistake on my part but i got a problem for entering data in a form

I made a form to register data in a table control with a few drop down list. it work great except when I am entering multiple row at the same time if i chose the same item in a drop down list as the preceding row, the field stay empty and do not register my choice. I then have to choose a different item on the list, click on a different field and then come back on the drop down to choose the correct item.

In my case :
In a table i enter work done, work is done at a date, at a certain time, is a kind of work made by someone at some place.
The fields : kind of work, someone and place are foreign key and dropdown list
If i register two ligne with any of the dropdown list with the same value, the second time the field stay empty when i leave it. i have to chose a different value leave the field then come back to chose the correct value and then it work.
I’m kind of blocked there and if anybody know something i appreciate any help

Don’t know if I understand it right. Seems for me you try to change values in different rows of a table at the same time. The form will work only with one row. Only the content of the row will be available at this moment. Only the content of the one row could be changed. If your are changing from one row to another row the content of the first row will be saved.

Please add a screenshot if I haven’t understand the description the right way.

Yes, sorry for my English it could be improved

I’m only changing one row at a time, here is an example where i just opened the form and started a fresh row, some of it is french but it should be understandable.

The 5 column are, date, time, kind of work, place, worker
The last row saved for instance :29/11/2021, 00:50, pruning, rhin 1300, guest 1

On the screenshot i’m currently creating a new row, i started at the time and only used tab to change column. here is what i did :
write date → tab : everything ok
write time → tab : everything ok
chose pruning in the list → tab : as you can see the field stay empty
chose rhin 1300 : i have not pressed tab yet so you can see that rhin1300 is selected but as soon as i tab the field is empty again
if after i were to chose any other choice that is not used in the previous entry it work flawlessly but here to chose pruning i need to chose another work first tab and then change back to pruning

Don’t see what you are changing. But: All columns except the first tow columns are listboxes? I will try to create a little example for this.

I uploaded the wrong image my mistake

exemple

yes they are all list expte for the two column

How do you choose the values? I tried this one:
Ctrl + Arrow down
Choose the value press Tab and the value of the listbox will appear.
Also: Press key for the first character. Value appears and Tab to next works. Nothing disappears.

How did you fill the listboxes? Query in SQL?
Which System do you use? Here is OpenSUSE 64bit rpm Linux
Which LO-Version do you use? Here: LO 7.2.5.1 and also LO 7.3.0.1
Try it with:
Tablecontrol_Listboxes.odb (12.4 KB)

@RobertG

Did my own quick test. List boxes were based upon List Entries. Had multiple issues. In any list box, select by tabbing to, then arrow down, arrow up, then tab to next and selection disappears. This only occurs initially and subsequent selection is OK. Another issue, if list box has 3 items, cannot use arrow keys to select first item. Can use drop down to select.

Version: 7.2.5.2 / LibreOffice Community
Build ID: 499f9727c189e6ef3471021d6132d4c694f357e5
CPU threads: 8; OS: Linux 5.4; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded

Edit:

Cannot duplicate with your sample.
.
Can get to first entry if space is add at start of list but other issue continues.

i have to say in is a complete mystery for me now. here is my db it is very work in progress, the only thing relevant is the form “journal de travail”
Exploitation2022.odb (37.6 KB)

The db is for an agricultural exploitation.
I’m using openSUSE thumbleweed
with libre office 7.2.4.1 from flatpak as report were not working right away from distribution package
The db is on firebird but it was the same when i first made it in hsqlb

it is a complete mystery because your example for correctly, and after using your example it work correctly for 2 list box but not the third on the same row and then not working again. Then i tried to adjust the query with an order by and it worked properly but then i closed the db and opened it again and it wasnt working properly.

Is it possible to try my db without having any other db opened to see please ?

See same issue as with my test even with nothing in LO open except your Base file.

@Anxiolytick : Have tested it with your DB. Opened the DB with LO 7.3.0.1 (rpms here from LibreOffice directly - Firebird isn’t included in LO from OpenSUSE by default).
Got the tablecontrol.
Date → Input by keys → Tab
Time → Input by keys → Tab
Type de travail → CTRL+Arrow Down → Tab
Lieu du travail → CTRL+Arrow Down → Tab
Tavailleur → CTRL+Arrow Down → Tab
Then another Tab and next row (new row) is choosen. Data were there.

@Ratslinger : Could also select the first Item of the listboxes by CTRL+Arrow Up. And no problem to leave a listbox and go back by Arrow Left and choose another value.

Could be it has something to do with the window manager you are using. Here is KDE, so LO reports VCL:kf5.

@RobertG @Ratslinger
Hurray (well kind of -.-) i found more information
After a lot of test this morning, first i also have the same problem as ratslinger for the selection of the first item with arrow and i finally found the cause of both problem but not the resolution.

It only happened when the foreign key field is set as not null.
I tried with my db (exploitation2022.odb) to remove the not null constraint on the foreign key and the list worked well. I put back the constraint and the problem was back,
It was the same when I tried to put the constraint not null on the foreign key of your example (tablecontrol_listboxes.odb) and i had the same problem as before, i removed and it was working properly again.
Not a resolution to the problem but the cause is more precise

Now since it seems RobertG install is fine it might come from the system but then it might be a lot more complicated to find out why

Here are my specs (i upgraded libreoffice before the last test today and i’m using xfce)

Version: 7.2.5.2 / LibreOffice Community
Build ID: 499f9727c189e6ef3471021d6132d4c694f357e5
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: fr-FR (fr_FR.utf8); UI: fr-FR
Flatpak
Calc: threaded

What should i do now, i think now it’s more likely to be a bug, what would be proper course of action now ? (on my side i’m fine to work without the constraint not null, it’s not optimal but its ok)

Try to start LibreOffice in the program-folder by SAL_USE_VCLPLUGIN=gen ./soffice. This will unset gtk3 for this start and works here the same way kf5 will work.

Yes, the first value of the dropdown will be ignored if you start by keys with Ctrl+Arrow Down. But you could move up to this value by Ctrl+Arrow Up after you pressed Ctrl+Arrow Down the first time. Seems moving by keys through a listbox will start with the second field, because nobody will choose NULL when switching through a form and the listbox already shows NULL. Showing NULL in the first field is the default for listboxes, if there isn’t set NOT NULL in the table for the field of the listbox.

You could start with the first field if you will set, in properties of List Box → General → Default Selection → 0. This will set the listbox to the first entry of the list.

Changed to

Version: 7.2.5.2 / LibreOffice Community
Build ID: 499f9727c189e6ef3471021d6132d4c694f357e5
CPU threads: 8; OS: Linux 5.4; UI render: default; VCL: x11
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded

and could select but had to use Ctrl + arrow keys. No consistency.

Without Ctrl it will move the cursor one row up or one row down here. So it will change the row, not change the content of the listbox.

for gtk3, and

for x11. One is a bug. Ctl + arrow keys does not work at all in gtk3. And in gtk3 is where I see the list box entry blanking (original question). Appears to be the problem.

How can i do that with the flatpak version ?

It make sense, but it is not just that we start at the second field, with arrow the first field is just impossible to select whether the field is NOT NULL or not.

I made further test this morning with the example in the gtk3 version Tablecontrol_Listboxes.odb (12.9 KB) :

  • I set the field town to NOT NULL
  • I let the field country to NULL allowed

Then, in the form, we can noticed every problem talked in this thread on the listbox namely :

  • as @Ratslinger noticed we use arrow and not ctrl + arrow to navigate in the listbox (no big deal there but still) just arrow serve to navigate row when we are on other field than listbox

  • When we click on the town field(NOT NULL) we do not see a NULL entry (normal) and when we click on the country field(NULL allowed) we see a NULL entry first (still normal) but by using arrow we can never ever select the first entry even by going up after going to the second entry. In the example : it is impossible to select Berlin(first entry) for the town field and it is impossible to select NULL for the country field. With click of the mouse we can select both entry

  • When a new record is CREATED we can never select the same entry as the last record EDITED/CREATED for the NOT NULL field (town here) when i just opened the form, i can never select Paris on a new row which is the town of the previous row. I then edit another random row and select Marseilles, now if i create a new row it is Marseilles that cannot be selected. When we chose something else first and leaving the field we can then chose every entry when creating a row. And when editing we can as well always chose everything.

Has nothing to do with flatpak. LibreOffice must be started with SAL_USE_VCLPLUGIN=gen. If you could start LibreOffice in shell with ./soffice or only soffice you could also start it with this parameter. If you couldn’t look for the folder with whereis soffice.

Seems this all is a special buggy behavior with gtk3. Special, because there is used the arrow key without Ctrl in a very special way. Please write this behavior down for a bug-description in https://bugs.documentfoundation.org/. I couldn’t, because I can’t reproduce the behavior.

Okay thanks, i will do it