Không. Cú pháp nhanh nhất là dataSource.getValue ("FieldName")
. Phương thức getItemValue
chỉ đáng tin cậy trên nguồn dữ liệu tài liệu, trong khi phương thức getValue
cũng không chỉ khả dụng trên các mục xem được truy cập thông qua nguồn dữ liệu chế độ xem (mặc dù trong ngữ cảnh đó, bạn sẽ chuyển tên đó theo chương trình của cột chế độ xem nhất thiết phải cùng tên với một trường), nhưng cũng sẽ có sẵn trên bất kỳ nguồn dữ liệu tùy chỉnh nào mà bạn phát triển hoặc cài đặt (ví dụ: thư viện tiện ích mở rộng của bên thứ ba). Hơn nữa, nó thực hiện chuyển đổi kiểu tự động mà bạn phải tự làm nếu bạn đã sử dụng getItemValue
thay thế.
Ngay cả trên các trang rất đơn giản, dataSource.getValue ("FieldName")
là 5 lần nhanh như getComponent ("id").getValue()
, bởi vì, như Fredrik đề cập, trước hết nó phải tìm thành phần, và sau đó yêu cầu nó những gì giá trị là ... trong đó, phía sau cảnh, chỉ yêu cầu nguồn dữ liệu. Vì vậy, sẽ luôn nhanh hơn nếu chỉ tự hỏi nguồn dữ liệu.
LƯU Ý: phương pháp ghi tương ứng là dataSource.setValue ("FieldName", "NewValue")
, không dataSource.replaceItemValue ("FieldName", "NewValue")
. Cả hai sẽ hoạt động, nhưng setValue
cũng thực hiện cùng một loại chuyển đổi mà getValue
thực hiện, vì vậy bạn có thể chuyển dữ liệu không tuân thủ nghiêm ngặt Domino Java API cũ và nó thường chỉ ra giá trị cần được chuyển đổi theo thứ tự để được "an toàn" cho Domino để lưu trữ.
Nguồn
2013-08-19 07:40:21
Có thể có sự khác biệt về loại giá trị bạn nhận được từ thành phần so với nguồn dữ liệu. –