FilterKey
Phạm vi áp dụng
✅ Bravo 8 · ✅ Bravo 10
Ý nghĩa
Là điều kiện sau WHERE của mệnh đề lấy dữ liệu từ bảng/view được khai báo trong thẻ Name.
Cú pháp
<root>
<Tables>
<Ten_bang>
<FilterKey>Bieu_thuc</FilterKey>
</Ten_bang>
</Tables>
</root>Ví dụ
Editor bảng mẹ của chứng từ dịch vụ:
<root>
<Tables>
<ParentTable>
<Name>vB30AccDoc_EditSales</Name>
<FilterKey>DocCode='DV'</FilterKey>
</ParentTable>
</Tables>
</root>→ chỉ hiển thị các chứng từ có DocCode = 'DV' trong dữ liệu của vB30AccDoc_EditSales.
Ghi chú quan trọng
Bắt buộc với các form dùng chung bảng mẹ
Các DataEditor dùng chung
ParentTable(các view của cùng 1 bảng baseB30AccDochoặcB30BizDoc…) phải khai báo thêmFilterKeyđể phân biệt dữ liệu thuộc về form.
Form FilterKey của ParentTable Cập nhật phiếu xuất DocCode='PX'Cập nhật phiếu thu DocCode='PT'
Không được dùng biểu thức nhúng
FilterKeycủaParentTablekhông được phép dùng biểu thức nhúng{=...}.
- Cú pháp trong biểu thức phải phù hợp với cú pháp SQL vì mệnh đề này được thêm vào phần
WHEREcủa câu query - Từ v4.7.0.1, chương trình chặn các từ khóa
SELECT,DELETE,UPDATE,INSERT,FROM,INNER JOIN,GROUP BY… trongFilterKey→ Cơ chế lưu trữ B00Layout
FilterKey ở các ngữ cảnh khác
| Ngữ cảnh | Ý nghĩa |
|---|---|
| DataSource / bảng | Điều kiện WHERE khi lấy dữ liệu |
| BravoBindingMember / lookup | Khi mở form thì chỉ hiển thị và tích chọn được các bản ghi thỏa mãn (tương đương zLoadFilterExpr ở B7) |
| SelectKey | Cho hiển thị hết các bản ghi nhưng chỉ tích chọn được các bản ghi thỏa mãn (tương đương zPostFilterExpr ở B7) |
| Validator | Điều kiện dữ liệu của bảng truy vấn |
Bravo 10
Bravo 10 bổ sung `<FilterCollection>` — cho phép khai báo nhiều filter có điều kiện, và DefaultFilterKey.
Liên quan
SelectKey · Name · DefaultFilterKey · Truy vấn dữ liệu Bravo 10 · BravoBindingMember