BravoEvaluator
Phạm vi áp dụng
✅ Bravo 8 · ✅ Bravo 10
Ý nghĩa
Dùng để thực thi việc định nghĩa giá trị cho một cột hoặc điều khiển các Controls.
Đây là giá trị mặc định
Nếu Evaluator không khai báo thẻ ClassName thì mặc định là
BravoEvaluator.
Cú pháp
Trường hợp 1 — gán giá trị cho một cột
<Eval_X>
<DataMember>Ten_bang/Ten_cot</DataMember>
<Value>Gia_tri</Value>
<Expr>Dieu_Kien</Expr>
</Eval_X>Trường hợp 2 — điều khiển control
<Eval_X>
<DataMember>Ten_bang/Danh_sach_cot</DataMember>
<Controls>
<Name>Danh_sach_Cot/Ten_bang</Name>
<Enabled>Bieu_thuc</Enabled>
<Format>Bieu_thuc</Format>
<Select>Bieu_thuc</Select>
<Style>Bieu_thuc</Style>
<Visible>Bieu_thuc</Visible>
</Controls>
</Eval_X>Thuộc tính
| Thẻ | Nội dung |
|---|---|
| DataMember | Danh sách cột đích tác động dữ liệu |
| Value | Giá trị sẽ nhận của cột đích |
Name (trong Controls) | Danh sách các control chịu sự tác động |
| Enabled | Tính chất cho edit. Biểu thức trả về False → control không cho edit |
| Format | Định dạng control. Kết quả biểu thức là số thập phân hiển thị (N0, N2…) |
| Select | Lựa chọn bản ghi được chọn: None / Indicated / Next / Previous |
| Style | Định dạng màu sắc, nền, căn lề… → Style |
| Visible | Ẩn / hiện control. Biểu thức trả về False → không hiển thị |
DataMembervsName
- Danh sách control trong DataMember là các cột trong bảng mà Eval được khai báo
- Danh sách cột trong Name có thể là cột ở bất cứ đâu
Ví dụ
Ẩn/hiện cột theo mã tiền tệ
<Eval_Controls_Visible>
<DataMember>TotalAmount0,TotalAmount3,TotalAmount</DataMember>
<Controls>
<Name>BravoGridContainer.Item_Inventory.UnitCost.Amount9,
BravoGridContainer.Item_AtchDoc.AmountBeforeTax.Amount</Name>
<Visible>CurrencyCode<>CONFIG('M_Ma_Tte0')</Visible>
</Controls>
</Eval_Controls_Visible>Chỉ cho gõ tỷ giá khi khác đồng tiền hạch toán
<Eval_Enable_ExchangeRate>
<DataMember>ExchangeRate</DataMember>
<Controls>
<Enabled>CurrencyCode<>CONFIG('M_Ma_Tte0')</Enabled>
</Controls>
</Eval_Enable_ExchangeRate>Khóa thêm/xóa dòng khi hóa đơn đã in
Khai báo ở bảng mẹ:
<Eval_GridSales_AllowAddNewWhen>
<Controls>
<Name>BravoGridContainer.Item_Sales</Name>
<AllowDelete>Empty(Printed)</AllowDelete>
<AllowAddNew>Empty(Printed)</AllowAddNew>
</Controls>
</Eval_GridSales_AllowAddNewWhen>Chuyển con trỏ sang tab khác
<Eval_Prepayment_Select>
<Controls>
<Name>BravoGridContainer.Item_ApplyPrepay</Name>
<Select>Indicated</Select>
</Controls>
</Eval_Prepayment_Select>Ghi chú
Thẻ
<Controls>hỗ trợ mọi thuộc tính controlVới Eval có sử dụng thẻ controls thì có thể hỗ trợ tất cả các thẻ chung của một control — các thẻ gợi ý ở trên chỉ là các thẻ hay dùng.
→ Xem đầy đủ tại Bắt đầu với Controls
Vị trí khai báo
Khi Load form, các Eval bảng mẹ có khai báo thẻ
Controlsđược ưu tiên thực hiện trước. Eval thiết lập control ở bảng con/cháu phải đặt ở bảng Parent.
Liên quan
controls · DataMember · Value · Visible · Enabled · Style · Bắt đầu với Controls