CÀI ĐẶT THUỘC TÍNH

Hàm này được sử dụng như một phần của hành động, để lưu nhiều thuộc tính vào XML. Khi không được sử dụng với hành động, SETPROPERTY không thể sửa đổi XML - nó chỉ trả về XML hiện tại. Ví dụ: công thức này như một phần của hành động Đặt tham số, ghi vào một biến có tên gọi DemoXML:
=SETPROPERTY(ReportVariables.DemoXML.Text, "visibility","ReportObjects.ListView6.Alias" ,"false")
Tuy nhiên, khi được chèn trong ô, công thức tương tự sẽ trả về giá trị hiện tại của biến DemoXML:
<Table><Row name="visibility"><Property name="ReportObjects.ListView6.Alias" value="False" /></Row></Table>

Vì vậy, để sửa biến, bạn phải sử dụng hành động chỉ định đầu ra được trả về bởi hàm SETPROPERTY trở lại biến.

Ví dụ: trên đối tượng listview, chẳng hạn như hộp tổ hợp, xác định hành động Đặt tham số sẽ được kích hoạt khi thay đổi lựa chọn trong hộp tổ hợp. Trong phần Tham số của hộp thoại Tạo Hành động, hãy chọn biến cần được điền làm Tên và xác định hàm SETPROPERTY làm Giá trị. Ở Chế độ xem, tham số được điền khi kích hoạt hành động.

Bạn có thể thêm, sửa đổi hoặc xóa bất kỳ thuộc tính nào.

Bạn có thể sử dụng hàm để đặt một thuộc tính và giá trị duy nhất hoặc nhiều thuộc tính, mỗi thuộc tính có một giá trị. Ví dụ: sử dụng hàm để điền biến XML với giá trị của các chiều lát cắt trong báo cáo. Bạn cũng có thể sử dụng hàm để loại bỏ thuộc tính và giá trị ra khỏi biến.

Có thể sử dụng SETPROPERTY để tham chiếu các thành phần cụ thể hoặc sử dụng hàm này để tham chiếu ô hyperblock.

Để trả về giá trị từ thuộc tính của biến, hãy sử dụng GETPROPERTY .

Bạn có thể sử dụng ký tự dấu hoa thị (*) tại đầu hoặc cuối chuỗi dưới dạng ký tự đại diện. Ví dụ, để trả về các khóa hoặc thuộc tính cụ thể. Dấu hoa thị trong một chuỗi không hoạt động dưới dạng ký tự đại diện. Tìm kiếm ký tự đại diện chỉ trả về khóa hoặc thuộc tính khớp đầu tiên.
Ghi chú

Chúng tôi không thể bảo đảm thứ tự hay các thuộc tính được khớp.

Các ví dụ này dựa trên ứng dụng Mẫu và sử dụng thuộc tính có tên Duy nhất và Chú thích để lưu trữ tên duy nhất và chú thích của thành phần:

Cú pháp

SETPROPERTY("XML_properties","key","property","value")

Đối số thứ nhất của công thức có thể là một biến hoặc chuỗi.

* Ký tự đại diện có thể được sử dụng với khóa và đối số thuộc tính để ghi đè hoặc xóa đồng thời nhiều giá trị.

Ví dụ về thuộc tính và giá trị duy nhất

  1. =SETPROPERTY(globalvariables.gv_property,"[Product]","Unique",
    "[Product].[All Tires].[Car Tires All Season]")
  2. =SETPROPERTY(globalvariables.gv_property,reportobjects.Hyperblock4.Text,
    "Unique","[Product].[All Tires].[Car Tires All Season]")
  3. =SETPROPERTY(globalvariables.gv_property,"reportvariables.rv_dimension.text","Unique",
    "reportvariables.rv_element.text")

Trong tất cả ba ví dụ, cấu trúc Sản phẩm là khóa và tên thuộc tính là 'Duy nhất'.

Trong ví dụ đầu tiên, cấu trúc Sản phẩm và tên duy nhất của sản phẩm đã được xác định. Trong ví dụ thứ hai, tên của hyperblock chứa cấu trúc Sản phẩm đã được xác định. Ví dụ thứ ba tham chiếu biến báo cáo chứa tên cấu trúc và tên duy nhất của thành phần.

Trong định nghĩa XML, khóa tạo thành tên hàng.

Đặt nhiều thuộc tính và giá trị

SETPROPERTY("XML_properties", "key", "property","value",{,"property"}{,"value"})

Ví dụ

=SETPROPERTY(globalvariables._gv_property,"[Product]","unique","[Product].[All
		Tires].[Car Tires all Season]","Caption","Car Tires all Season")

Nhiều khóa

Bạn có thể lưu trữ nhiều khóa trong một biến, nhưng không có hàm SETPROPERTY riêng lẻ. Để lưu trữ nhiều khóa, hãy sử dụng hyperblock hoặc tổ hợp nhiều hàm SETPROPERTY. Ví dụ:
=SETPROPERTY(SETPROPERTY("XML_properties","key","property","value"),
"key","property","value") 

Mỗi khóa tạo thành một hàng trong định nghĩa XML của biến.

Hoặc, sử dụng nhiều công thức SETPROPERTY trong nhiều hành động để điền một biến XML đơn lẻ - ví dụ để lưu trữ các chiều bộ lọc trong báo cáo động.

Xóa một thuộc tính đơn lẻ

SETPROPERTY("XML_properties", "key", "property","")

Ví dụ

Điều này xóa thuộc tính Chú thích khỏi biến lưu trữ tên duy nhất và chú thích của thành phần trong cấu trúc Sản phẩm.

=SETPROPERTY(globalvariables._gv_property,"[Product]","caption","")

Xóa nhiều thuộc tính

=SETPROPERTY("XML_properties","key","property","","property,"")

Xóa tất cả các thuộc tính của một hàng

=SETPROPERTY("XML_propertes","key")

SETPROPERTY trong hyperblock

Hàm SETPROPERTY có thể tham chiếu ô hyperblock. Khi được sử dụng với hyperblock, có thể xác định tổ hợp khóa, thuộc tính và giá trị sau trong một biến XML:

  • Một khóa có nhiều thuộc tính và nhiều cặp giá trị
  • Nhiều khóa có một thuộc tính và một cặp giá trị
  • Nhiều khóa với nhiều thuộc tính và nhiều cặp giá trị
  • Nhiều khóa có nhiều thuộc tính và một giá trị

Ví dụ

Các ví dụ sau sử dụng hyperblock dọc trong ô B2, B3 và B4 và một biến toàn cục được gọi là gv_SetProperty. Ô B2 là cột khóa, B3 là cột thuộc tính và B4 là các giá trị tương ứng.

Một khóa có nhiều thuộc tính và nhiều cặp giá trị:

=SETPROPERTY(globalvariables.gv_setproperty,"[Product]",B3,B4)

Nhiều khóa có một thuộc tính và một cặp giá trị:

=SETPROPERTY(globalvariables.gv_setproperty,B2,"Property","Value")

Nhiều khóa với nhiều thuộc tính và nhiều cặp giá trị:

=SETPROPERTY(globalvariables.gv_setproperty,B2,B3,B4)

Nhiều khóa có nhiều thuộc tính và một giá trị:

=SETPROPERTY(globalvariables.gv_setproperty,B2,B3,"Value")

Sửa và xóa các thuộc tính và giá trị

Khi SETPROPERTY được sử dụng để tham chiếu các ô hyperblock, các hành động này có thể:

  • Xóa một hàng khỏi định nghĩa XML
  • Xóa một giá trị đơn lẻ
  • Xóa nhiều thuộc tính
  • Cập nhật hoặc đặt một giá trị đơn lẻ
  • Cập nhật hoặc đặt nhiều giá trị

Ví dụ

Xóa một hàng khỏi định nghĩa XML:

=SETPROPERTY(globalvariables.gv_setproperty,"Key")

Xóa một giá trị đơn lẻ:

=SETPROPERTY(globalvariables.gv_setproperty,"Key","")

Xóa nhiều thuộc tính (ví dụ, xóa các thuộc tính 1 và 3 khỏi danh sách các thuộc tính):
=SETPROPERTY("XML_properties","key","property1","","property3","")

Đặt một giá trị đơn lẻ:

=SETPROPERTY("XML_properties","key","property","value")

Đặt nhiều giá trị:

=SETPROPERTY("XML_properties","key","property1","value1","property2",
"Value2","Property3","Value3")

Thay đổi nhiều giá trị bằng ký tự đại diện trên khóa:

Biến này có hai khóa, mỗi khóa có giá trị khác nhau:
<Table><Row name="Key1"><Property name="property" value ="Value1" /></Row>
<Row name="Key2"><Property name="property" value ="Value2" /></Row></Table>
Để thay đổi cả Value1 và Value2 thành NewValue:

=SETPROPERTY("XML_properties"," key* ","property","new_value")

Ký tự đại diện xác định cả khóa và công thức thay đổi giá trị của chúng.

Thay đổi nhiều giá trị bằng ký tự đại diện trên thuộc tính:

Biến này có hai khóa, mỗi khóa có hai thuộc tính và hai giá trị:
<Table><Row name="Key1"><Property name="property1" value ="Value1"/>
<Property name="property2" value ="Value11"/></Row>
<Row name="Key2"><Property name="property1" value ="Value2" />
<Property name="property2" value ="Value21"/></Row></Table>

Để thay đổi giá trị của Property1 và Property2 của Key1, hãy sử dụng:

=SETPROPERTY("XML_properties","key","property*","new_value")

Ký tự đại diện xác định cả Property1 và Property2 của Key1.

Để thay đổi thuộc tính của cả hai khóa, hãy sử dụng ký tự đại diện trên cả khóa và thuộc tính:

=SETPROPERTY("XML_properties" ,"key*","property*","new_value")