Hướng dẫn tạo biểu mẫu dạng bảng APEX của Oracle

Tác giả CCNACCNP, Tháng tư 19, 2019, 03:48:31 PM

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Hướng dẫn tạo biểu mẫu dạng bảng APEX của Oracle


1. Giới thiệu
     Bạn đang xem hướng dẫn lập trình Oracle APEX 5.0. Đây là tài liệu thứ 2 tiếp theo:

         Hướng dẫn Oracle APEX cho người mới bắt đầu (APEX 5.0)

     Bao gồm trong tài liệu này, tôi sẽ tiếp tục hướng dẫn bạn về Ứng dụng máy tính để bàn cơ sở dữ liệu Oracle APEX, sử dụng Dạng bảng.

2. Tạo biểu mẫu dạng bảng bằng Wizard
     Đăng nhập vào Oracle APEX bằng tài khoản của lập trình viên.

To view link, please Register or Login


Chuyển đến "Ứng dụng cơ sở dữ liệu".


Tiếp theo, đi tới "Xin chào ứng dụng cơ sở dữ liệu trên máy tính" mà bạn đã tạo trong hướng dẫn trước


Trong ứng dụng này, có một vài trang được tạo trong hướng dẫn trước. Nhấp vào "Tạo trang" để tạo một trang khác.




Tạo một dạng bảng:










Nhập vào:

    Trang: 7
         Tên trang: Biểu mẫu bảng Emp (7)









Trang web của bạn đã được tạo, nhấp vào CHẠY để kiểm tra trang vừa tạo.




Trang 7 đang chạy:


Ở đây, câu hỏi đặt ra là làm thế nào để thay đổi một số trường đầu vào thành LIST CHỌN hoặc POPUP LOV (Danh sách các giá trị). Ví dụ: bạn muốn chọn Người quản lý (MGR) thông qua POPUP LOV và chọn Công việc thông qua DANH SÁCH CHỌN.


Quay trở lại màn hình thiết kế của trang 7. Đặt thuộc tính cho cột JOB để nó hiển thị dưới dạng DANH SÁCH CHỌN.
    Nhận biết:

         Loại: Chọn Danh sách

     Danh sách các giá trị

         Loại: Giá trị tĩnh
         Giá trị tĩnh:


Mã nguồn [Chọn]
STATIC:
CLERK;CLERK,
SALESMAN;SALESMAN,
PRESIDENT;PRESIDENT,
MANAGER;MANAGER,
ANALYST;ANALYST

STATIC:Display1;Return1,Display2;Return2



Tiếp theo, bạn cần đặt các thuộc tính cho MGR để nó hiển thị dưới dạng POPUP LOV (danh sách các giá trị)
    Nhận biết:

         Loại: Popup LOV (hiển thị giá trị hiển thị)

     Danh sách các giá trị:

         Loại: Truy vấn SQL
         Truy vấn SQL: Chọn emp.ename, emp.empno từ Emp



Tương tự đặt các thuộc tính cho DEPTNO, để nó hiển thị dưới dạng POPUP LOV.
     Nhận biết:

         Loại: Popup LOV (hiển thị giá trị hiển thị)

     Danh sách các giá trị

         Loại: Truy vấn SQL
         Truy vấn SQL: Chọn d.dname, d.deptno từ Dept d



Lưu và chạy Trang 7:




3. Tạo biểu mẫu dạng thủ công
     Ở trên, tôi đã chỉ cho bạn cách tạo Biểu mẫu dạng bảng bằng cách sử dụng trình hướng dẫn của Oracle Apex. Tiếp theo, chúng tôi sẽ tạo hoàn toàn từ đầu Biểu mẫu dạng bảng, không sử dụng trình hướng dẫn, điều này sẽ giúp bạn hiểu thêm về Biểu mẫu dạng bảng & Oracle APEX.


Nhập vào:

         Số trang: 8
         Tên: Biểu mẫu bảng Emp (8)




Một trang trống đã được tạo.


Tạo biểu mẫu dạng bảng trong khu vực "Nội dung Body":


    Tiêu đề: Biểu mẫu bảng Emp (8)
         Loại: Dạng bảng
         Truy vấn SQL:


Mã nguồn [Chọn]
           select EMPNO,
           EMPNO EMPNO_DISPLAY,
           ENAME,
           JOB,
           MGR,
           HIREDATE,
           SAL,
           COMM,
           DEPTNO
      from EMP




Bạn có thể kiểm tra trang 8, kết quả như sau:


Thêm một cột chứa Hộp kiểm, được sử dụng để chọn hàng.




Đặt thuộc tính cho EMPNO, ẩn cột này và đặt thuộc tính khóa chính cho nó.
     Nhận biết

         Tên cột: EMPNO
         Loại: Cột ẩn (lưu trạng thái)

     Nguồn khóa chính

         Loại: Trình tự hiện có
         Tên: EMP_SEQ



Cột ENAME:
    Nhận biết

         Tên cột: ENAME
         Loại: Trường văn bản



Cột CÔNG VIỆC:
    Nhận biết

         Tên cột: CÔNG VIỆC
         Loại: Chọn Danh sách

     Danh sách các giá trị

         Loại: Giá trị tĩnh
         Giá trị tĩnh:

Mã nguồn [Chọn]
STATIC:
CLERK;CLERK,
SALESMAN;SALESMAN,
PRESIDENT;PRESIDENT,
MANAGER;MANAGER,
ANALYST;ANALYST



Cột MGR:
     Nhận biết

         Tên cột: MGR
         Loại: Popup LOV (hiển thị giá trị hiển thị)

     Danh sách các giá trị

         Loại: Truy vấn SQL
         Giá trị tĩnh: Chọn emp.ename, emp.empno từ Emp



Cột HIREDATE:
    Nhận biết

         Tên cột: HIDEDATE
         Loại: Bộ chọn ngày

     Xuất hiện

         Mặt nạ định dạng: YYYY-MM-DD

     Mặc định

         Loại: Biểu thức PL / SQL
         Biểu thức PL / SQL: sysdate



Cột SAL:
    Nhận biết

         Tên cột: SAL
         Loại: Trường văn bản



Cột SAL (Mức lương) là một loại số, vì vậy bạn cần thêm xác thực:


Nhận biết

         Tên: SAL phải là số

     Xác nhận:

         Loại: Cột là số
         Cột: SAL

     lỗi

         Thông báo lỗi: # COLUMN_HEADER # phải có giá trị.
         Vị trí hiển thị: Nội tuyến với Trường và trong Thông báo

     Chú thích :

         # COLUMN_HEADER # là một hoạt động như một Người giữ chỗ, nó sẽ được thay thế bằng tiêu đề của cột tương ứng khi chạy.



Cột Comm:
     Nhận biết

         Tên cột: Comm
         Loại: Trường văn bản



Tạo Xác thực cho Comm, Comm phải là số.
    Nhận biết

         Tên: Comm phải là số

     Xác nhận:

         Loại: Cột là số
         Cột: Comm

     lỗi

         Thông báo lỗi: # COLUMN_HEADER # phải có giá trị.
         Vị trí hiển thị: Nội tuyến với Trường và trong Thông báo



Cột DEPTNO:
     Nhận biết:

         Loại: Popup LOV (hiển thị giá trị hiển thị)

     Danh sách các giá trị

         Loại: Truy vấn SQL
         Truy vấn SQL: Chọn d.dname, d.deptno từ Dept d



4. Xử lý Tabular form
     Tiếp theo chúng ta cần thêm xử lý bao gồm tạo hàng, chỉnh sửa hàng, xóa hàng




Thay đổi tên của các nút, như hiển thị bên dưới:


Đối với nút Hủy:
     Khi người dùng nhấp vào nút Hủy, trang web sẽ làm mới trang hiện tại (Đây là trang 8).






4.1. Thêm hàng
     Khi người dùng nhấp vào nút THÊM, bảng trên trang sẽ tự động thêm một hàng mới, cho phép người dùng nhập dữ liệu. Bạn cần gọi hàm javascript để thực hiện điều này.
    Xác minh

         Tên nút: THÊM
         Nhãn: Thêm


     Hành vi

         Hành động: Chuyển hướng đến URL
         Mục tiêu: javascript: apex.widget.tabular.addRow ();



4.2- Cập nhật nhiều hàng
     Xác minh

         Tên nút: TIẾT KIỆM
         Nhãn: Lưu


     Hành vi

         Hành động: Gửi trang



Nút SAVE cần lưu thông tin của một số bản ghi cùng một lúc, bao gồm các bản ghi mới, bản ghi đã sửa đổi. Bạn cần khai báo một quy trình để xử lý việc này. Quá trình này sẽ được chạy một lần ngay sau khi trang được gọi, nó sẽ cập nhật các bản ghi có thay đổi và chèn bản ghi mới.


Tạo ra tiến trình:


Idetification

    Name: ApplyMRU
    Type: Tabular Form - Multi Row Update


Settings

    Table Name: EMP
    Primary Key Column: EMPNO


Execution Options

    Tabular Form: Emp Tabular Form (8)
    Run Process: Once Per Page Visit (default)


Success Messages

    Success Message: #MRU_COUNT# row(s) updated, #MRI_COUNT# row(s) inserted.


Condition

    When Button Pressed: SAVE (Name of button)
    Execution Scope: For Created and Modified Rows





4.3. Xóa nhiều hàng ngay lập tức
     Nút xử lý để xóa ngay các bản ghi đã chọn, không cần xác nhận:


Để xóa nhiều hàng, bạn cần tạo một Process để xử lý việc này. Quá trình này sẽ được thực hiện một lần ngay khi trang được gọi.


Tạo ra tiến trình:


Xác minh

     Tên: ApplyMRD_IMMEDIATELY
     Loại: Dạng bảng - Xóa nhiều hàng


Cài đặt

     Tên bảng: EMP
     Cột khóa chính: EMPNO


Tùy chọn thực thi

     Biểu mẫu dạng bảng: Biểu mẫu bảng Emp (8)
     Chạy tiến trình: Một lần mỗi lần truy cập trang (mặc định)


Thông điệp thành công

     Thông báo thành công: # MRD_COUNT # hàng đã bị xóa.


Điều kiện

     Khi nhấn nút: IMMEDIATELY_MULTY_law_DELETE (Tên nút)
     Phạm vi thực hiện: Đối với các hàng được tạo và sửa đổi





4.4. Xóa nhiều hàng - Nhắc trước khi xóa
     Trước khi xóa hồ sơ, chương trình hỏi người dùng có đồng ý xóa hay không?
     Xác minh

         Tên nút: MULTI_law_DELETE
         Nhãn: Xóa nhiều hàng


     Hành vi

         Hành động: Chuyển hướng URL
         Mục tiêu: javascript: apex.conf Confirm ('Bạn có chắc chắn sẽ xóa không?', 'MULTI_law_DELETE');



apex.conf Confirm (...) là một hàm JavaScript được sử dụng để hỏi người dùng trước khi thực hiện lệnh của nút xác nhận.

Trích dẫn// The function includes 2 parameters, message and Button Name.

apex.confirm('Message ...', 'Button Name');

// Example:

apex.confirm('Are you sure to delete?','MULTI_ROW_DELETE');

// Using variable.
// htmldb_delete_message is a javascript variable
// with value: 'Would you like to perform this delete action?'
// (You need to declare this variable).
apex.confirm(htmldb_delete_message,'MULTI_ROW_DELETE');


Trích dẫn// Declare a variable named htmldb_delete_message
var htmldb_delete_message='Would you like to perform this delete action?';

// Or:
// "DELETE_CONFIRM_MSG" is a constant available in APEX.
// It has value: Would you like to delete this thực action?


var htmldb_delete_message='"DELETE_CONFIRM_MSG"';


// Then can use this variable in the whole page.

apex.confirm(htmldb_delete_message,'MULTI_ROW_DELETE');

Để xóa nhiều hàng, bạn cần tạo một Process để xử lý việc này. Quá trình này sẽ được thực hiện một lần ngay khi trang được gọi.
     Xác minh

         Tên: ApplyMRD
         Loại: Dạng bảng - Xóa nhiều hàng


     Cài đặt

         Tên bảng: EMP
         Cột khóa chính: EMPNO


     Tùy chọn thực thi

         Biểu mẫu dạng bảng: Biểu mẫu bảng Emp (8)
         Chạy tiến trình: Một lần mỗi lần truy cập trang (mặc định)


     Thông điệp thành công

         Thông báo thành công: # MRD_COUNT # hàng đã bị xóa.


     Điều kiện

         Phạm vi thực hiện: Đối với các hàng được tạo và sửa đổi
         Loại: Yêu cầu = Giá trị
         Giá trị: MULTI_law_DELETE
         Điều kiện thực hiện: Một lần





5. Chi tiết tổng thể

Xem thêm:

         Hướng dẫn chi tiết tổng thể về Oracle APEX

6. Có thể bạn quan tâm

Xem phần sau Xác thực tùy chỉnh trong Oracle APEX

                   Hướng dẫn hành động động của Oracle APEX