Uidatepicker in app designer

Is there any way to place a uidatepicker element inside an existing app designer panel? The samples I've seen only show how to do that creating a new figure...

7 commentaires

Omer Eker
Omer Eker le 8 Août 2018
Hi Ricardo, I am new to appdesigner, but i like it very much. I didnt get whether you managed to see datepicker component in the component list (left pane). If not, how was your problem solved?
Ricardo Pedó
Ricardo Pedó le 10 Août 2018
Hello Omer,
I've done that Chris said, using Position(1:2) to turn my uidatepicker visible in the Panel. To do that, I've been changing the position values until this gets in the right place:
app.dataIni = uidatepicker(app.Panel, 'DisplayFormat', 'yyyy-mm-dd', 'Value', datetime('today')); app.dataIni.Position(1:2) = [20 5];
Omer Eker
Omer Eker le 11 Août 2018
Ricardo, thanks for the reply. Where do I put these 2 lines in my appdesigner codes?
Omer Eker
Omer Eker le 12 Août 2018
OK managed to have the datepicker component in my panel. But it only appears when the button was clicked. I need it to be appeared all the time there, can we do that?
Omer Eker
Omer Eker le 12 Août 2018
OK that one is sorted too :)
Ricardo Pedó
Ricardo Pedó le 13 Août 2018
Great :)
Arshad Ilahi
Arshad Ilahi le 3 Déc 2019
Hello Eker,
Can you share what you did for placeing a uidatepicker element inside an existing app designer panel?

Connectez-vous pour commenter.

Réponses (5)

Chris Portal
Chris Portal le 21 Avr 2018
Modifié(e) : per isakson le 21 Avr 2018

0 votes

You can pass the panel’s handle as the parent for the uidatepicker. The syntax is described here:

https://www.mathworks.com/help/matlab/ref/uidatepicker.html

Ricardo Pedó
Ricardo Pedó le 21 Avr 2018
Modifié(e) : per isakson le 21 Avr 2018

0 votes

Thank you Chris. I've already read that link, but I couldn't undestand how to use panel as an object. May you show me an example? In my code I have app.Panel inside a TabGroup. I tried something like the example below, but it didn't work:

uidatepicker(app.Panel,'DisplayFormat','dd-MM-yyyy');

1 commentaire

Chris Portal
Chris Portal le 21 Avr 2018
Hmm, that’s what you need to do. What is the error you’re getting?

Connectez-vous pour commenter.

Ricardo Pedó
Ricardo Pedó le 21 Avr 2018

0 votes

Doing that way I don't get error message, but datapicker element don't show up in the panel...

1 commentaire

Chris Portal
Chris Portal le 21 Avr 2018
If you instead parent a button to the panel at the same line of code, does the button show up?

Connectez-vous pour commenter.

Ricardo Pedó
Ricardo Pedó le 21 Avr 2018

0 votes

No, now I got this error: Error using uidatepicker (line 44) Button cannot be a parent.

1 commentaire

Chris Portal
Chris Portal le 21 Avr 2018
Modifié(e) : per isakson le 21 Avr 2018

Sorry, I meant comment out your date picker line of code, and add this line of code:

b = uibutton(app.Panel);

Does the button show up in the panel? This will determine whether the issue is with date picker specifically or something else.

Connectez-vous pour commenter.

Ricardo Pedó
Ricardo Pedó le 21 Avr 2018

0 votes

Ahh now I got your idea. Yes, the button shows up. Seems to be something related to the date picker...

2 commentaires

Chris Portal
Chris Portal le 21 Avr 2018
Modifié(e) : per isakson le 21 Avr 2018

Thanks. It looks to be a positioning bug specific to date picker. You can work around it by doing the following:

p = uidatepicker(app.Panel, ‘DisplayFormat’, ‘dd-MM-yyyy’);
p.Position(1:2) = [0 0];

I’ll report the bug for you. Thank you!

Ricardo Pedó
Ricardo Pedó le 21 Avr 2018
Yeah, that's the bug! It worked... Thank you Chris!!

Connectez-vous pour commenter.

Catégories

En savoir plus sur App Building dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by