DynamicColX
Phạm vi áp dụng
✅ Bravo 8 · ✅ Bravo 10
Ý nghĩa
Khai báo layout cột động cho các Grid.
Vì sao hữu ích?
Thay vì phải tạo chuỗi
LAYOUT_XMLgồm toàn bộ các cột từ thủ tục lưu như trước, chỉ cần khai báo khuôn mẫu trong layout và chương trình sẽ tự động quét các cột tương ứng trong bảng dữ liệu để dựng cột grid.
| Hỗ trợ từ | Ver 4.2.4.1 |
Cú pháp
<DynamicColX>
<Name />
<Pattern>Tên cột động%</Pattern>
<Style>…</Style>
</DynamicColX>Bắt buộc
- Cột động khai báo với tên trắng
<Name></Name>- Khuôn mẫu bằng
<Pattern>like operator</Pattern>hoặc<PatternRegex>regular expression</PatternRegex>
Ví dụ
Explorer của phiếu thu:
<DynamicCol0>
<Name />
<Pattern>TotalOriginalAmount%</Pattern>
<Style>BackColor:Red;</Style>
</DynamicCol0>
<DynamicCol1>
<Name />
<Pattern>TotalAmount%</Pattern>
<Style>BackColor:Aqua;</Style>
</DynamicCol1>Cơ chế
Cách nhặt cột
Mẫu cột động (A, B, C) được nhặt theo thứ tự từ bảng dữ liệu thành:
(A1, B1, C1),(A2, B2, C2)…(An, Bn, Cn)Cột động có thể có nhiều nhóm ở các vị trí khác nhau trong grid. Ở ví dụ trên, nhóm màu đỏ
TotalOriginalAmount%và nhóm màu xanhTotalAmount%sẽ được lặp lại theo các cột thực tế có trong bảng.
Tiêu đề cột động — UpdatedColumn() và ColumnName()
| Hàm | Trả về |
|---|---|
UpdatedColumn() | Số thứ tự cột động |
ColumnName() | Tên cột động |
Bắt buộc
Expr="True"Hai hàm này chỉ có tác dụng ngay khi đọc khai báo layout của grid, nên bắt buộc phải khai báo với
expr="True".
Thay đổi từ v4.6.5.1 — quan trọng
Với cột động trong grid, có thể dùng UpdatedColumn() để lấy tên cột trong grid tại các biểu thức dùng tại chính cột đó: <Editor><Expr>, <Style><Expr>, <SumColumns><Expr> và khai báo <Text> khi không dùng expr="True".
Khai báo tại <Column_A> | UpdatedColumn() trả về | Hành vi |
|---|---|---|
<Text>{=UpdateColumn()}</Text> | 'Column_A' (tên cột) | ✅ Refresh tiêu đề cho cột động khi dữ liệu thay đổi |
<Text expr="True">{=UpdateColumn()}</Text> | index cột động | Tiêu đề cột cố định sau mỗi lần đọc layout |
Gantt Chart
Gantt chart cho phép thực hiện evaluator khi người dùng click đúp / bấm
Enterở các cột dữ liệu thời gian của dòng nhóm.
Thay đổi từ v4.7.0.1
- Khai báo tên cột động bằng
PatternRegexhayPatternsẽ tương tự nhau — chương trình tự động nhận diện khi dùng RegEx - Hỗ trợ các
PatternRegex/Patterntên cột động khi định dạng động theo biểu thức trong grid:
<Style_Test>
<Name>CotDong%</Name>
<Expr>IIF({=UpdateColumn()}<0, 'ForeColor:Red;', '')</Expr>
</Style_Test>Liên quan
Cols (Grid) · Styles · Grid dạng Gantt Chart · Bắt đầu với Expression · Grid - Tổng quan