Layout — Tổng quan

Phạm vi áp dụng

✅ Bravo 8 · ✅ Bravo 10

Layout khai báo hiển thị — vẽ cái gì lên màn hình, ở đâu, trông thế nào. Mọi xử lý dữ liệu nằm ở DataSource.

Khung một layout Editor

<root>
  <navigator>          <!-- panel chức năng bên trái -->
    <LinkCommand>
      <Items>...</Items>
    </LinkCommand>
  </navigator>
 
  <panelEditor>        <!-- vùng nhập liệu chính -->
    <Dock>Fill</Dock>
    <Controls>
      <panelParent>...</panelParent>            <!-- đầu phiếu -->
      <BravoGridContainer>...</BravoGridContainer>  <!-- lưới chi tiết -->
      <panelSummary>...</panelSummary>          <!-- cuối phiếu -->
    </Controls>
  </panelEditor>
 
  <panelCommand>       <!-- dải nút lệnh dưới cùng -->
    <Items>...</Items>
  </panelCommand>
  <showCommandButtons>Custom</showCommandButtons>
</root>

Quy ước, không bắt buộc

Việc chia thành panelParent / BravoGridContainer / panelSummary hoàn toàn do người dùng tự định nghĩa — đây là quy ước chung khi thiết kế màn hình Editor của chứng từ. Ở màn hình khác có thể đặt tên khác.

Bản đồ thẻ Layout

Cấu trúc màn hình

ThẻVai tròB8B10
navigatorKhai báo chức năng ở panel✅✅
panelEditorToàn bộ nhóm đối tượng trên màn hình✅✅
panelCommandControl ở phần summary / dải nút lệnh✅✅
showCommandButtonsẨn/hiện các đối tượng trong panelCommand✅✅
zSubLayoutBiểu thức chọn SubLayout✅✅
zDefaultCommandButtonNút lệnh ngầm định khi Ctrl+Enter✅✅

Hành vi form

ThẻVai tròB8B10
verifyWorkingDataKhóa form khi đổi năm/đơn vị làm việc✅✅
zCustomConnectionNameKết nối tới CSDL khác ở cấp form✅✅
ExecuteHỗ trợ lệnh in ngay khi nhập liệu✅✅
bFullScreenModeHiển thị layout ở chế độ toàn màn hình✅✅
bShowStatusStripHiển thị/ẩn thanh trạng thái✅✅
TextFormatBiểu thức nhúng tự refresh trên menu/toolbar✅✅
identityColumnValueTypeCách tìm giá trị cột Id sau INSERT✅❌
bLoadPermissionForAllTablesCó tải phân quyền cho mọi bảng con/cháu không✅✅

Nội dung hiển thị

→ Bắt đầu với Controls · Grid - Tổng quan

Liên quan

Bắt đầu với Editor · Template · Cơ chế lưu trữ B00Layout · Bắt đầu với Controls