
Sử Dụng Table Bảng Trong Lập Trình Giao Diện Gui Matlab
Như bạn đã biết thì Table giúp bạn hiện thị thông tin nào đó theo dạng hàng và cột. Thông thường đối với ngôn ngữ lập trình nào thì cũng có hỗ trợ bảng, Matlab cũng không ngoại lệ. Nó cho phép bạn hiện thị thông tin theo kiểu chuỗi string, số hay Checkbox, Pop-up menu,…

Trong bài học hôm nay. VuTienIT cùng bạn học cách tạo bảng, chèn dữ liệu cũng như hiệu chỉnh giao diện của bảng qua một số câu lệnh cơ bản.. Bài học này sẽ là tiền đề để bài sau chúng ta học cách đọc file exel trong GUI.
| Tạo bảng trong Command Window
1. Tạo ra một bảng dữ liệu
Để tạo ra một bảng mới thì bạn làm như sau. Tại cửa sổ Command Window bạn tiến hành gõ lệnh dưới đây.
t = uitable;
Trong đó:
- uitable Là câu lệnh tạo bảng trống
- t là giá trị hiện thời nhận từ uitable
Thì lập tức một giao diện mới hiện ra. Nếu bạn đã có sẵn Figure rồi thì bảng sẽ được hiện ra ở Figure đó. Ngược lại nếu chưa có thì Matlab tự động tạo ra.

2. Hiện thị dữ liệu ra bảng
Ta sẽ sử dụng lệnh sau:
set(t,'Data', magic(15))
Trong đó:
- set là gán giá trị
- t là tên của table mà ta đã lưu ở câu lệnh bên trên
- Data là kiểu dữ liệu
- magic(15) Chính là dữ liệu mà bạn muốn thêm vào. Ở đây VuTienIT sử dụng câu lệnh magic (Ma trận) tự động sinh ra dữ liệu (15 hàng và 15 cột). Còn nếu bạn đã có dữ liệu rồi thì bạn thay lệnh magic này thành dữ liệu của bạn mà muốn thêm vào.

3. Thay đổi kích chiều rộng của mỗi cột
Bạn sử dụng lệnh dưới đây để thay đổi tăng giảm kích thước chiều rộng của mỗi một cột
set(t,'ColumnWidth',{25})
Trong đó:
- ColumnWidth: Thay đổi chiều rộng của 1 cột
- 25 là giá trị bạn muốn thay đổi sao cho bạn cảm thấy hợp lý (đơn vị là px)
4. Hiện thị tên hàng tên cột và vị trí của bảng trong Figure
Như bạn gõ 3 lệnh cơ bản trên thì bạn thấy chưa thay đổi được vị trí nó hiện thị théo ý mình đúng không? Cũng như tên cột và tên hàng thì cũng chưa có. Vậy thì làm sao giải quyết được vấn đề này? Thì cũng khá là đơn giản. Bạn thực hiện các câu lệnh dưới đây và tùy biến giá trị mà bạn mong muốn là được.
f = figure('Position',[200 200 400 150]); dat = rand(3); cnames = {'X-Data','Y-Data','Z-Data'}; rnames = {'First','Second','Third'}; t = uitable('Parent',f,'Data',dat,'ColumnName',cnames,... 'RowName',rnames,'Position',[20 20 360 100]);
Trong đó:
- figure Tạo ra 1 figure
- Position là vị trí muốn hiện thị
- rand(3) Là 3 hàng 3 cột
- cnames là biến chứa tên của 3 cột
- rnames là biến chứa tên của 3 hàng
- uitable Như đã nói ở trên đó là tạo ra 1 bảng
Và bạn sẽ được kết quả như sau:

5. Hiện thị dữ liệu kiểu checkbox, Pop-up menu
Ở các ví dụ trên thì chúng ta đã học được cách đọc, hiện thị, hiệu chỉnh giao diện của một bảng rồi. Nếu bạn để ý thì dữ liệu của chúng ta hiện thị chỉ là một kiểu chuỗi đúng không nào? Vậy làm sao để hiện thị dạng checkbox, Pop-up menu trong bảng?
Thì Matlab hay nói chính xác hơn trong GUI thì cho phép bạn hiện thị dữ liệu đó bằng các lệnh dưới đây
1. Tạo bảng
f = figure('Position',[200 200 400 150]); dat = rand(3); cnames = {'X-Data','Y-Data','Z-Data'}; rnames = {'First','Second','Third'}; t = uitable('Parent',f,'Data',dat,'ColumnName',cnames,... 'RowName',rnames,'Position',[20 20 360 100]); f = figure('Position',[100 100 400 150]);
2. Tao CheckBox (0 và 1)
dat = {6.125, 456.3457, true, 'Fixed';... 6.75, 510.2342, false, 'Adjustable';... 7, 658.2, false, 'Fixed';};
3. Tao Pop-up menu (Lựa chọn)
columnname = {'Rate', 'Amount', 'Available', 'Fixed/Adj'}; columnformat = {'numeric', 'bank', 'logical', {'Fixed' 'Adjustable'}}; columneditable = [false false true true];
4. Thêm kiểu dữ liệu vào bảng
t = uitable('Units','normalized','Position',... [0.1 0.1 0.9 0.9], 'Data', dat,... 'ColumnName', columnname,... 'ColumnFormat', columnformat,... 'ColumnEditable', columneditable,... 'RowName',[]);
Trong các lệnh trên thì một số lệnh VuTienIT đã giải thích bên trên rồi cho nên xin phép không được nhắc lại. Các giá trị bạn có thể thay đổi theo ý của bạn.
Các CheckBox hay Pop-up menu thì cho phép người dùng có thể thay đổi giá trị mà họ muốn. Không giống như ở cột 1 và cột 2 là fix cứng giá trị.
Cuối cùng bạn được giao diện giống hình dưới

| Tạo bảng trong GUI
Ở trên thì chúng ta đã học cách tạo bảng trong cửa sổ Command Window rồi. Vậy ở trong GUI thì sao? Thì Matlab cũng đã hỗ trợ cho bạn sẵn rồi. Bạn chỉ cần kéo thả vào cửa sổ giao diện mà thôi.
Bạn hãy di chuột vào đối tượng Table và kéo vào giao diện. Mặc định nó sẽ có giao diện trống. Để thay đổi thêm giá trị vào bảng thì bạn hãy nhấn cuột phải vào bảng ở giao diện và chọn vào dòng Table Property Editor

Lập tức cửa sổ mới hiện nên.
1. Thêm sửa,… cột (Columns)
Để thêm cột thì bạn nhấn vào Columns (Góc trái) và nhấn vào Show names entered below as the column headers sau đó bạn có thể sử dụng Insert, copy, delete, up down, edit để thêm sửa thay đổi vị trí của cột nào đó mà bạn muốn.
- Name: Là tên hiện thị của một cột ở giao diện
- Auto Width: Check vào thị tự động phần mền thay đổi kích thước cho phù hợp
- Width (px): Nếu bạn không muốn tự động điều chỉnh kích thước thì bạn có thể nhập giá trị mong muốn của bạn vào.
- Editable: Có cho phép người dùng sửa cột đó hay không
- Format: Kiểu hiện thị dữ liệu đó là string, int, checkbox, Popup Menu…

2. Thêm sửa,… dòng (Rows)
Thì cũng giống Columns thôi bạn thêm sửa xóa theo ý của mình.

Ở data và color thì là 2 tùy chọn cho bạn tùy biến thêm cho bảng của mình mà thôi. Bạn có thể tự mầy mò tìm hiểu thêm về 2 phần này.
Tổng Kết:
Như vậy VuTienIT đã hướng dẫn bạn cách sử dụng table trong command windows cũng như trong GUI của phần mền Mablab. VuTienIT đã nói trên bài học về bảng này sẽ là tiền để để chúng ta học sang bài Đọc file excel bởi vậy bạn hãy học kỹ phần này nhé! Chúc bạn thành công!
sao không xóa dòng trong Table Property Editor được bạn ơi