Control nhập liệu cơ bản

Phạm vi áp dụng

✅ Bravo 8 · ✅ Bravo 10

Nhóm control nhập liệu và hiển thị thường dùng nhất. Tất cả đều hỗ trợ các thẻ chung → Bắt đầu với Controls.


BravoKeyInputBox

Nhập liệu các ký tự (ngoại trừ các ký tự đặc biệt).

<Ten_Control>
  <ClassName>BravoKeyInputBox</ClassName>
  <DataMember>Ten_truong</DataMember>
  <Row>0</Row>
  <Column>1</Column>
</Ten_Control>

Important

  • Danh sách các ký tự đặc biệt được khai báo trong tham số hệ thống M_InvalidCharacters
  • Với các ô kiểu NVarchar, chương trình không hỗ trợ gõ ký tự Unicode. Dùng bRestrictedUnicode = True để hỗ trợ người dùng gõ ký tự Unicode (kiểu gõ tiếng Việt như DD, AW, AJ…)

BravoTextBox

Nhập liệu kiểu chuỗi ký tự.

ThẻNội dung
autoCorrectOptionsCó tự động viết hoa chữ cái đầu hay không:
• None-0 — không tự động viết hoa
• CapitalizeFirstLetter — (mặc định) viết hoa chữ cái đầu
• CapitalizeTitle — viết hoa chữ cái đầu của tất cả các chữ
CharacterCasingChuyển đổi hiển thị hoa/thường:
• Normal-0 — (mặc định) dạng viết thường
• Upper — tự động viết hoa hết
• Lower — không viết hoa bất cứ ký tự nào
CharCategoryLọc các ký tự gõ vào (chỉ lọc gõ bàn phím, không lọc được khi paste):
• Number — chỉ nhận số
• Letter — chỉ nhận văn bản
• UpperCase — chỉ nhận chữ viết hoa (gồm cả số)
MultilineCho phép nhiều dòng

Hành vi tự động

Với control kiểu này, chương trình tự động cắt các ký tự trắng ở 2 đầu chuỗi. Đồng thời ký tự đầu tiên của control hoặc ký tự đầu tiên sau dấu chấm sẽ được tự động viết hoa.

Muốn tắt → <autoCorrectOptions>None</autoCorrectOptions>

EmptyAsNull luôn = True

Xem cảnh báo tại Bắt đầu với Controls — binding với BravoTextBox mà không kiểm tra ISNULL() có thể sai kết quả.


BravoNumericInputBox

Nhập kiểu số.

  • Dữ liệu luôn căn phải
  • Định dạng hiển thị mặc định là N2, có thể khai báo linh động N3, N0, P0…
  • Khác bản B7: không hiển thị mũi tên lên xuống để thêm/bớt 1 đơn vị

BravoQuantityInputBox

Nhập liệu kiểu số lượng.

  • Dữ liệu luôn căn phải
  • Định dạng hiển thị luôn ăn theo biến hệ thống M_DefaultQuantityFormat
  • Khác bản B7: không hiển thị mũi tên lên xuống

BravoDateInputBox

Nhập liệu kiểu Date.

  • Ngoài nhập theo định dạng Date, người dùng có thể chọn từ thanh lịch cuộn
  • Định dạng hiển thị theo biến hệ thống M_DefaultDateFormat nếu không có thẻ chỉ định kiểu định dạng

BravoCheckBox

Hiển thị và nhập liệu kiểu check box.

Hai trường hợp khai báo

Vị tríCách khai báo
Control độc lậpBắt buộc khai báo <ClassName>BravoCheckBox</ClassName>
Cột ở GridChỉ cần <Style>DataType:System.Boolean;ImageAlign:CenterCenter;</Style>
Nếu cho phép nhập liệu thì kết hợp thêm thẻ <Editor>
ThẻNội dung
CheckAlignVị trí xuất hiện của dòng nội dung trong thẻ Text

BravoOptionBox

Hiển thị và nhập liệu tương tự BravoCheckBox nhưng hình hiển thị là nút hình tròn (radio).


BravoLabel

Hiển thị caption dạng text.

  • Control dạng này không có khai báo DataMember
  • Là ClassName mặc định → có thể bỏ qua nếu chỉ hiển thị caption thông thường
  • Khi có định dạng, biểu thức… thì vẫn cần khai báo ClassName
<lblAttention2>
  <ClassName>BravoLabel</ClassName>
  <Text Expr="True">
    <Vietnamese>{=FISCALYEAR()}</Vietnamese>
    <English>{=FISCALYEAR()}</English>
  </Text>
  <Column>3</Column>
  <Style>Font:,,style=Bold;ForeColor:Blue;</Style>
</lblAttention2>

Nhúng biểu thức

Cần chỉ định attribute Expr="True" cho thẻ Text.


BravoDataLabel

Hiển thị vừa caption dạng text vừa giá trị của DataMember.

<lblTotalOriginalAmount3>
  <ClassName>BravoDataLabel</ClassName>
  <TextFormat>VAT ({0:P0})</TextFormat>
  <DataMember>TaxRate</DataMember>
  <Row>1</Row>
  <Column>11</Column>
</lblTotalOriginalAmount3>

Diễn giải: Caption ô Tổng tiền thuế ở Summary hiển thị cả Text và giá trị của ô TaxRate.

  • Khi TaxRate trắng / null / 0 → hiển thị VAT(0%)
  • Hiển thị theo giá trị TaxRate khi người dùng nhập liệu
ThẻNội dung
TextFormatChuỗi định dạng, {0} là giá trị của DataMember

BravoLinkLabel

Tương tự BravoLabel, chỉ khác Caption hiển thị dạng đường link (chữ màu xanh, gạch chân).

Từ V4.1.1.0

Grid cho phép hiển thị và click link tại một cột với khai báo Editor cho cột là BravoLinkLabel hoặc khai báo Format:link; trong thẻ Style (tương tự BravoButton với bIsLink=True).

Khi dùng cell type Format:link; thì người dùng vẫn có thể sửa đổi giá trị link ở dạng text.


BravoRichTextBox

Nhập liệu kiểu text có hỗ trợ định dạng ký tự và đoạn văn.

  • Có thể xuống dòng khi nhập liệu, hoặc định dạng văn bản bằng cách bôi đen và chọn tính năng định dạng
  • Khác BravoTextBox: ký tự đầu tiên không được tự động viết hoa, không tự động cắt khoảng trắng ở đầu và cuối

BravoBarCodeBox

Hiển thị dữ liệu mã vạch (Barcode). Tương tự BravoBarCodeInputBox.


BravoBarCodeInputBox

Hiển thị và nhập liệu kiểu mã vạch.

<txtItemInfo>
  <ClassName>BravoBarCodeInputBox</ClassName>
  <DataMember>ItemInfo</DataMember>
  <Column>0</Column>
  <Row />
  <Style>Font:"Arial Black",20pt,style=Bold;</Style>
  <bAllowUsingEnterAsTabKey>False</bAllowUsingEnterAsTabKey>
  <bAlwaysOpenDropdown>False</bAlwaysOpenDropdown>
  <ReadOnly>False</ReadOnly>
</txtItemInfo>

(Ví dụ từ Editor màn hình Cập nhật phiếu bán lẻ — ô để “tít” mã vạch ở đầu phiếu.)


BravoCodeInputBox

Cho phép người dùng nhập văn bản đa dạng trên 1 ô nhập liệu.

Ứng dụng

Control nhập mã vạch ở màn hình hóa đơn bán lẻ.

ThẻNội dung
<selectedMembers><ValueTiming>Khi đọc mã vạch, thời gian từ lúc bắt đầu nhận giá trị cho tới lúc kết thúc với phím Enter sẽ được tính và cập nhật vào các cột khai báo

Phản hồi trực quan

Khi nhận focus và giá trị trống thì control sẽ có màu nền khác để người dùng dễ nhận biết khi quét mã vạch.


Liên quan

Bắt đầu với Controls · BravoLookupBox · Style · Grid - Tổng quan · Text