Thẻ khai báo Lookup

Phạm vi áp dụng

✅ Bravo 8 · ✅ Bravo 10

Nhóm thẻ khai báo nguồn dữ liệu tra cứu (lookup) — dùng chung cho BravoLookupBox, BravoBindingMember, BravoLookupList.


LookupKey

Khai báo giá trị cột LookupKey trong bảng B00Lookup — xác định bảng hoặc view dữ liệu sẽ được truy vấn.

<LookupKey>Customer</LookupKey>

→ B00 - Bảng hệ thống


zLookupSource

Khai báo bảng lookup trực tiếp từ layout — không cần tạo 1 dòng trong B00Lookup.

Giá trị tương đương với cột LookupTable trong B00Lookup.

<zLookupSource>vB20Customer</zLookupSource>

Không dùng đồng thời

Không khai báo đồng thời cả zLookupSource và LookupKey — chương trình luôn ưu tiên LookupKey.

So sánh hai cách

LookupKeyzLookupSource
Khai báo ởB00LookupThẳng trên layout
Ưu điểmDùng lại nhiều nơi, quản trị tập trungNhanh, không cần bản ghi hệ thống
bShowCommand mặc địnhTrueFalse

SelectKey vs FilterKey

Hai thẻ lọc dữ liệu lookup — khác nhau ở chỗ ẩn hay chỉ khóa chọn:

ThẻHành viTương đương B7
FilterKeyKhi mở form chỉ hiển thị VÀ tích chọn được các bản ghi thỏa mãnzLoadFilterExpr
SelectKeyKhi mở form hiển thị HẾT các bản ghi nhưng chỉ tích chọn được bản ghi thỏa mãnzPostFilterExpr

Khi nào dùng SelectKey?

Khi người dùng cần nhìn thấy bản ghi không hợp lệ để biết nó tồn tại (VD chứng từ đã đóng), nhưng không được chọn.

Cả hai đều có thể khai báo trực tiếp trên layout hoặc ở cột tương ứng trong B00Lookup.

Ràng buộc bảo mật

Từ v4.7.0.1, chương trình chặn các từ khóa SELECT, DELETE, UPDATE, INSERT… trong SelectKey → Cơ chế lưu trữ B00Layout


Các thẻ cấu hình khác

(Chỉ dùng khi khai báo lookup trực tiếp từ layout)

ThẻTương đương cột B00LookupNội dung
zValueMemberValueMemberCột tìm kiếm khi gõ — tìm theo mã
zDisplayTextMemberDisplayTextMemberCột tìm kiếm theo kiểu ký tự
zExtraMemberListExtraMemberListCột mở rộng hiển thị thêm
zDisplayTextFormatDisplayTextFormatChuỗi định dạng: {0} = ValueMember, {1} = DisplayMember
zNewCommandNewCommandTính năng thêm mới khi lookup
zLinkCommandLinkCommandTính năng mở LinkCommand khi lookup

→ Danh sách đầy đủ các thẻ hành vi tìm kiếm: BravoLookupBox


BravoComboBox

Control dạng combo box — thuộc nhóm BravoDropDownControlBase.

EmptyAsNull luôn = True

Với BravoComboBox và các BravoDropDownControlBase khác (BravoOpenFileBox, BravoOpenDirBox, BravoSaveFileBox) thì thuộc tính EmptyAsNull luôn ngầm định = True.

→ Xem cảnh báo đầy đủ tại Bắt đầu với Controls


Liên quan

BravoLookupBox · BravoBindingMember · FilterKey · B00 - Bảng hệ thống · bSuppressLookupEvents · zCustomConnectionName