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 Kommentare

Omer Eker
Omer Eker am 8 Aug. 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ó am 10 Aug. 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 am 11 Aug. 2018
Ricardo, thanks for the reply. Where do I put these 2 lines in my appdesigner codes?
Omer Eker
Omer Eker am 12 Aug. 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 am 12 Aug. 2018
OK that one is sorted too :)
Ricardo Pedó
Ricardo Pedó am 13 Aug. 2018
Great :)
Arshad Ilahi
Arshad Ilahi am 3 Dez. 2019
Hello Eker,
Can you share what you did for placeing a uidatepicker element inside an existing app designer panel?

Melden Sie sich an, um zu kommentieren.

Antworten (5)

Chris Portal
Chris Portal am 21 Apr. 2018
Bearbeitet: per isakson am 21 Apr. 2018

0 Stimmen

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ó am 21 Apr. 2018
Bearbeitet: per isakson am 21 Apr. 2018

0 Stimmen

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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Ricardo Pedó
Ricardo Pedó am 21 Apr. 2018

0 Stimmen

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

1 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Ricardo Pedó
Ricardo Pedó am 21 Apr. 2018

0 Stimmen

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

1 Kommentar

Chris Portal
Chris Portal am 21 Apr. 2018
Bearbeitet: per isakson am 21 Apr. 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.

Melden Sie sich an, um zu kommentieren.

Ricardo Pedó
Ricardo Pedó am 21 Apr. 2018

0 Stimmen

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

2 Kommentare

Chris Portal
Chris Portal am 21 Apr. 2018
Bearbeitet: per isakson am 21 Apr. 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ó am 21 Apr. 2018
Yeah, that's the bug! It worked... Thank you Chris!!

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu App Building finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 20 Apr. 2018

Kommentiert:

am 3 Dez. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by