BravoBindingMember

Phạm vi áp dụng

✅ Bravo 8 · ✅ Bravo 10

Ý nghĩa

Tự động lấy các thông tin giống như binding trong lookup — nhưng có thể đặt điều kiện và gọi từ bất kỳ sự kiện nào.

Khi nào dùng Evaluator thay vì binding trên control?

Việc binding thông tin khi chọn giá trị từ lookup vẫn được khai báo như bản 7 ở các control. Chỉ khi việc binding dữ liệu cần có điều kiện để thực thi thì mới dùng Evaluator.

Cú pháp

<Ten_Eval>
  <ClassName>BravoBindingMember</ClassName>
  <DataMember>Ten_Cot</DataMember>
  <LookupKey>Ten_Lookupkey</LookupKey>
  <FilterKey>Bieu_thuc</FilterKey>
  <bindingMembers>
    <Ten_Cot_Nguon>Ten_Cot_Dich</Ten_Cot_Nguon>
  </bindingMembers>
</Ten_Eval>

Thuộc tính

ThẻNội dung
DataMemberCột lookup để làm key lấy thông tin
LookupKeyGiá trị cột LookupKey trong B00Lookup, xác định bảng/view sẽ được truy vấn
FilterKeyĐiều kiện dữ liệu. Lookup chỉ hiển thị và tích chọn được các bản ghi thỏa mãn (tương đương zLoadFilterExpr ở B7)
SelectKeyCho hiển thị hết bản ghi nhưng chỉ tích chọn được bản ghi thỏa mãn (tương đương zPostFilterExpr ở B7)
bindingMembersKhai báo các thông tin được lấy ra
ExprĐiều kiện để thực thi Evaluator
zLookupSourceKhai báo thẳng tên bảng/view sẽ được truy vấn
zCustomConnectionNameKết nối đến Server khác

Cách đọc bindingMembers

<bindingMembers>
  <Person>Person_Customer</Person>
</bindingMembers>
VếÝ nghĩa
Person (tên thẻ)Cột nguồn trong bảng khai báo ở B00Lookup
Person_Customer (giá trị)Cột đích nhận giá trị (có thể là danh sách cột)

Khác Bravo 7

Ở Bravo 8, giá trị luôn luôn được điền vào bảng đích mà không cần dấu ngoặc () như bản 7.

Hai cách khai báo lookup

CáchKhai báoGhi chú
C1LookupKey — trỏ tới 1 dòng trong B00LookupQuản trị tập trung
C2zLookupSource — khai báo trực tiếp bảng/viewKhông cần bản ghi hệ thống

Warning

Khai báo đồng thời cả LookupKey và zLookupSource → chương trình luôn hiểu theo LookupKey.

Ví dụ

Khi Ctrl+F2 chứng từ, lấy tên/địa chỉ/mã số thuế từ danh mục đối tượng — khai báo trong ServerLoaded của bảng mẹ:

<Eval_CustomerCode_BindingMembers>
  <ClassName>BravoBindingMember</ClassName>
  <DataMember>CustomerCode</DataMember>
  <LookupKey>Customer</LookupKey>
  <FilterKey>IsGroup=0</FilterKey>
  <bindingMembers>
    <CustomerType>CustomerType</CustomerType>
    <Person>Person_Customer</Person>
    <Name>CustomerName</Name>
    <Address>Address_Customer</Address>
    <TaxRegNo>TaxRegNo_Customer</TaxRegNo>
  </bindingMembers>
</Eval_CustomerCode_BindingMembers>

Ghi chú

  • Các binding trong Evaluator được gọi sau khi thực hiện các sự kiện do sự thay đổi của Evaluator (giá trị cột thay đổi và các ColumnChanging, ColumnChanged liên quan)
  • Nếu không khai báo zCustomConnectionName ở Eval, chương trình lấy thông tin cột ConnectionName trong B00Lookup

Liên quan

BravoLookupBox · LookupKey · FilterKey · SelectKey · bSuppressLookupEvents · B00 - Bảng hệ thống