How can input matrix in gui table

Can help to with this problem. I input matrix in gui table But no result apper

 Risposta accettata

It is not obvious that there is any value in setting the UserData property to the cell array that contains only '' entries. Perhaps you do something with that empty array later??
I suspect that you believe that at the place in the callback that you display y, that you should be getting the table with the values that have been entered into it. However, the user will not be given any chance to enter data into the table until the callback returns.
Setting the UserData to y does not establish any connection between the variable named y and the content of the table. As the user enters data into the table, variable y will not be updated. When you set the UserData to y, a copy of the values in y would be taken and stored in the UserData property, and all information about the source (variable named y) would be lost, just the same way that if you do
A = 123;
B = A;
that a copy of the 123 would be put into B and B would not keep track of the fact that it was A that was used to initialize B. Changes to A would not affect B; likewise, the user entering data into the table will not affect the variable y and will also not affect the UserData.
In order to find out what is in the table at any particular time, you need to ask for the Data property of the table and that will return a copy of what is stored there to that point.

6 Commenti

So what i sould do to take the data from user input and then i can process it? Sorry to ask this. i really dont know what to do.
Like you said. Nothing change to variable y.
You have two choices:
  1. Your Edit callback for the uitable will be invoked every time that the user types in a new value and either presses return or clicks outside the uitable. Each time it was invoked, you could examine the uitable Data to see whether the user has filled up the entire table, and when you find that the user has put in the last value, you could retrieve the Data and execute some action. This approach is usually not a good user experience.
  2. You can add another button that says 'Go' or 'Run' or something appropriate. When the button is pressed, you would get the Data property of the uitable, make sure it is valid, and then execute the necessary action.
I choose the second choices. I will add another putton to get the data of uitable. What code can i use to get the data? Can i use GET?
Yes, you can use get if you like. With R2014b and later, you can also use object notation, such as
y = handles.uitable1.Data;
Thank you so much walter

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by