Hiểu các biến trong ứng dụng canvas

Nếu đã dùng một công cụ lập trình khác, chẳng hạn như Visual Basic hoặc JavaScript, bạn có thể thắc mắc: Các biến ở đâu? Power Apps hơi khác một chút và yêu cầu một cách tiếp cận khác. Thay vì tiếp cận một biến khi bạn xây dựng ứng dụng canvas, hãy tự hỏi bản thân rằng: Tôi sẽ làm gì trong Excel?

Trong các công cụ khác, bạn có thể thực hiện một phép tính một cách rõ ràng và lưu kết quả vào một biến. Tuy nhiên, cả Power Apps và Excel đều tự động tính lại công thức khi dữ liệu nhập thay đổi. Do đó, bạn thường không cần phải tạo và cập nhật biến. Bằng cách thực hiện cách tiếp cận này bất cứ khi nào có thể, bạn sẽ dễ dàng tạo, hiểu và duy trì ứng dụng của mình hơn.

Trong một số trường hợp, bạn sẽ cần sử dụng các biến trong Power Apps. Điều này sẽ mở rộng kiểu của Excel bằng cách thêm công thức hành vi. Chẳng hạn, những công thức này sẽ chạy khi người dùng chọn một nút. Trong một công thức hành vi, thường thật hữu ích khi đặt một biến được dùng trong các công thức khác.

Nhìn chung, hãy tránh dùng các biến. Tuy nhiên, đôi khi chỉ một biến có thể kích hoạt trải nghiệm bạn muốn. Các biến hoàn toàn được tạo và nhập khi chúng xuất hiện trong các hàm đặt giá trị của chúng.

Dịch Excel sang Power Apps

Excel

Hãy xem cách hoạt động của Excel. Một ô có thể chứa một giá trị, chẳng hạn như một số hoặc một chuỗi hoặc công thức dựa trên giá trị của các ô khác. Sau khi người dùng nhập một giá trị khác vào ô, Excel sẽ tự động tính lại mọi công thức phụ thuộc vào giá trị mới. Bạn không phải thực hiện bất kỳ thao tác lập trình nào để kích hoạt hành vi này.

Trong ví dụ sau, ô A3 được đặt thành công thức A1+A2. Nếu A1 hoặc A2 thay đổi, A3 sẽ tự động tính lại để phản ánh thay đổi đó. Hành vi này không yêu cầu mã hóa ngoài chính công thức.

Hoạt ảnh tính lại tổng của hai số trong Excel.

Excel không có biến. Giá trị của một ô có chứa công thức sẽ thay đổi dựa trên thông tin đầu vào của nó, nhưng không có cách nào để ghi nhớ kết quả của một công thức và lưu nó vào một ô hoặc bất kỳ nơi nào khác. Nếu bạn thay đổi giá trị của một ô, toàn bộ bảng tính có thể thay đổi và mọi giá trị đã tính trước đó sẽ bị mất. Một người dùng Excel có thể sao chép và dán ô, nhưng thao tác đó nằm trong kiểm soát thủ công của người dùng và không thể xảy ra với công thức.

Power Apps

Các ứng dụng mà bạn tạo trong Power Apps có hành vi tương tự như Excel. Thay vì cập nhật ô, bạn có thể thêm kiểm soát ở bất cứ nơi nào bạn muốn trên màn hình và đặt tên cho chúng để sử dụng trong công thức.

Chẳng hạn, bạn có thể sao chép hành vi Excel trong ứng dụng bằng cách thêm kiểm soát Nhãn, có tên là Label1 và 2 kiểm soát Nhập văn bản, có tên là TextInput1TextInput2. Sau đó, nếu bạn đặt thuộc tính Văn bản của Label1 thành TextInput1 + TextInput2, nó sẽ luôn hiển thị tổng của bất cứ số nào trong TextInput1TextInput2 một cách tự động.

Tính tổng của hai số trong Power Apps.

Lưu ý rằng kiểm soát Label1 được chọn, hiển thị công thức Văn bản của nó trong thanh công thức ở đầu màn hình. Tại đây, chúng tôi tìm thấy công thức TextInput1 + TextInput2. Công thức này tạo phần phụ thuộc giữa các kiểm soát này, giống như khi các phần phụ thuộc được tạo giữa các ô trong sổ làm việc Excel. Hãy thay đổi giá trị của TextInput1:

Hoạt ảnh tính tổng của hai số trong Power Apps.

Công thức cho Label1 đã được tự động tính lại, hiển thị giá trị mới.

Trong Power Apps, bạn có thể sử dụng các công thức để xác định không chỉ giá trị chính của tùy chọn điều khiển mà còn cả các thuộc tính như định dạng. Trong ví dụ tiếp theo, công thức cho thuộc tính Màu của nhãn sẽ tự động hiển thị các giá trị âm bằng màu đỏ. Hàm If trông sẽ giống với Excel:

If( Value(Label1.Text) < 0, Red, Black )

Minh họa tùy chọn có điều kiện.

Bạn có thể sử dụng công thức cho nhiều kịch bản:

  • Bằng cách sử dụng GPS của thiết bị, một kiểm soát bản đồ có thể hiển thị vị trí hiện tại của bạn với công thức sử dụng Location.LatitudeLocation.Longitude. Khi bạn di chuyển, bản đồ sẽ tự động theo dõi vị trí của bạn.
  • Những người dùng khác có thể cập nhật nguồn dữ liệu. Chẳng hạn, những người khác trong nhóm của bạn có thể cập nhật các mục trong danh sách. Khi bạn làm mới nguồn dữ liệu, mọi công thức phụ thuộc sẽ tự động được tính lại để phản ánh dữ liệu đã cập nhật. Ví dụ khác đó là bạn có thể đặt thuộc tính Mục của thư viện thành công thức Filter( SharePointList ), mà sẽ tự động hiển thị chuỗi bản ghi mới lọc.

Lợi ích

Việc sử dụng công thức để xây dựng ứng dụng có nhiều ưu điểm:

  • Nếu biết Excel, bạn sẽ biết Power Apps. Ngôn ngữ của công thức và mô hình giống nhau.
  • Nếu bạn đã dùng các công cụ lập trình khác, hãy nghĩ về số lượng mã bắt buộc để hoàn thành những ví dụ này. Trong Visual Basic, bạn sẽ cần viết một quy trình xử lý sự kiện cho sự kiện thay đổi trên từng kiểm soát nhập văn bản. Mã thực hiện phép tính trong số này khá phong phú và có thể không cần đồng bộ hoặc bạn sẽ cần ghi một đoạn chương trình con phổ biến. Trong Power Apps, bạn đã hoàn thành tất cả điều đó bằng công thức một dòng duy nhất.
  • Để hiểu được vị trí mà văn bản của Label1 bắt nguồn, bạn sẽ biết chính xác vị trí cần xem: công thức trong thuộc tính Văn bản. Không có cách nào khác để tác động đến văn bản của kiểm soát này. Trong công cụ lập trình truyền thông, mọi quy trình xử lý sự kiện hoặc đoạn chương trình con có thể thay đổi giá trị của nhãn, từ vị trí bất kỳ trong chương trình. Điều này có thể khiến việc theo dõi thời điểm và vị trí biến được thay đổi trở nên khó khăn.
  • Nếu người dùng thay đổi kiểm soát thanh trượt và sau đó thay đổi quyết định của họ, họ có thể thay đổi thanh trượt trở lại giá trị ban đầu. Và nó giống như việc không có điều gì xảy ra: ứng dụng hiển thị giá trị kiểm soát tương tự như trước kia. Không có nhánh nào để thử nghiệm và hỏi "điều gì sẽ xảy ra nếu" như khi không có gì trong Excel.

Nhìn chung, nếu có thể đặt được hiệu quả bằng cách dùng công thức, bạn sẽ tiến bộ hơn. Hãy để công cụ công thức trong Power Apps phù hợp với bạn.

Biết được thời điểm nên sử dụng biến

Hãy thay đổi bộ thêm đơn giản của chúng tôi để hoạt động giống như một cổ máy thêm lỗi thời, có tổng hoạt động. Nếu chọn nút Thêm, bạn sẽ thêm một số vào tổng hoạt động. Nếu chọn nút Xóa, bạn sẽ đặt lại tổng hoạt động thành không.

Hiển thị Mô tả
Ứng dụng có một tùy chọn Kiểm soát nhập văn bản, một nhãn và hai nút. Khi ứng dụng bắt đầu, tổng hoạt động là 0.

Dấu chấm đỏ thể hiện ngón tay của người dùng trong hộp nhập văn bản. Tại đó, người dùng nhập 77.
Kiểm soát nhập Văn bản có chứa 77 và nút Thêm đang được nhấn. Người dùng chọn nút Thêm.
Tổng là 77 và con số 77 khác đang được thêm vào tổng. 77 được thêm vào tổng hoạt động.

Người dùng chọn nút Thêm một lần nữa.
Tổng là 154 trước khi bị xóa. 77 được thêm lại vào tổng hoạt đông, kết quả là 154.

Người dùng chọn nút Xóa.
Tổng bị xóa. Tổng hoạt động được đặt lại thành 0.

Cỗ máy thêm của chúng tôi sử dụng thứ gì đó không tồn tại trong Excel: một nút. Trong ứng dụng này, bạn không thể chỉ dùng công thức để tính tổng hoạt động do giá trị của nó phụ thuộc vào một loạt hành động mà người dùng thực hiện. Thay vào đó, tổng hoạt động của chúng tôi phải được ghi lại và cập nhật thủ công. Hầu hết công cụ lập trình lưu trữ thông tin này trong một biến.

Đôi khi, bạn sẽ cần một biến để ứng dụng có hành vi theo cách bạn muốn. Tuy nhiên, cách tiếp cận này đi kèm với các đặc điểm báo trước:

  • Bạn phải cập nhật tổng hoạt động một cách thủ công. Quá trình tính lại tự động sẽ không thực hiện điều đó cho bạn.
  • Tổng hoạt động không được tính dựa trên giá trị của các kiểm soát khác. Nó phụ thuộc vào số lần người dùng đã chọn nút Thêm và giá trị có trong kiểm soát nhập văn bản mỗi lần. Có phải người dùng đã nhập 77 và chọn Thêm hai lần hoặc họ đã chỉ định 24 và 130 cho từng phần thêm? Bạn không thể nói lên sự khác biệt sau khi tổng đã đạt 154.
  • Các thay đổi đối với tổng có thể bắt nguồn từ các đường dẫn khác nhau. Trong ví dụ này, cả nút ThêmXóa có thể cập nhật tổng. Nếu ứng dụng không có hành vi theo cách bạn mong đợi, thì nút nào đang gây ra vấn đề?

Sử dụng biến toàn cầu

Để tạo cổ máy thêm của mình, chúng ta yêu cầu một biến để giữ tổng hoạt đông. Các biến đơn giản nhất để làm việc cùng trong Power Apps là biến toàn cầu.

Cách hoạt động của biến toàn cầu:

  • Bạn đặt giá trị của biến toàn cầu bằng hàm Đặt. Set( MyVar, 1 ) đặt biến toàn cầu MyVar thành một giá trị của 1.
  • Bạn sử dụng biến toàn cầu bằng cách tham chiếu tên được dùng cùng hàm Đặt. Trong trường hợp này, MyVar sẽ trả về 1.
  • Biến toàn cầu có thể giữ giá trị bất kỳ, bao gồm chuỗi, số, bản ghi và bảng.

Hãy tạo lại cỗ máy thêm của chúng ta bằng cách dùng một biến toàn cầu:

  1. Thêm kiểm soát nhập văn bản, có tên là TextInput1 và 2 nút là Button1Button2.

  2. Đặt thuộc tính Văn bản của Button1 thành "Thêm" và đặt thuộc tính Văn bản của Button2 thành "Xóa".

  3. Để cập nhật tổng hoạt động bất cứ khi nào người dùng chọn nút Thêm, hãy đặt thuộc tính OnSelect theo công thức sau:

    Set( RunningTotal, RunningTotal + TextInput1 )

    Sự tồn tại duy nhất của công thức này thiết lập RunningTotal làm biến toàn cầu giữ một số do toán tử +. Bạn có thể tham chiếu RunningTotal ở bất cứ đâu trong ứng dụng. Bất cứ khi nào người dùng mở ứng dụng này, RunningTotal đều có giá trị ban đầu là rỗng.

    Lần đầu người dùng chọn nút ThêmSet chạy, RunningTotal sẽ được đặt thành giá trị RunningTotal + TextInput1.

    Thuộc tính OnSelect của nút Thêm được đặt thành hàm Set.

  4. Để đặt tổng hoạt động thành 0 bất cứ khi nào người dùng chọn nút Xóa, hãy đặt thuộc tính OnSelect của nó theo công thức sau:

    Set( RunningTotal, 0 )

    Thuộc tính OnSelect của nút Xóa được đặt thành hàm Set.

  5. Thêm kiểm soát Nhãn và đặt thuộc tính Văn bản của nó thành RunningTotal.

    Công thức này sẽ tự động được tính lại và hiển thị cho người dùng giá trị của RunningTotal khi nó thay đổi dựa trên các nút mà người dùng chọn.

    Thuộc tính văn bản của nhãn được đặt thành tên của biến.

  6. Xem trước ứng dụng và chúng ta có cỗ máy thêm như mô tả ở trên. Nhập một số vào hộp văn bản và nhấn nút Thêm vài lần. Khi đã sẵn sàng, hãy quay lại trải nghiệm biên soạn bằng cách dùng phím Esc.

    Kiểm soát nhập văn bản có chứa một giá trị và nhãn bao gồm tổng hoạt động.

  7. Để hiển thị giá trị của biến toàn cục, hãy thực hiện một trong các thao tác sau:

    • Nếu bạn đang sử dụng phiên bản xem trước của Power Apps Studio, hãy chọn Biến trên menu tác giả ứng dụng.

      Menu Biến và bộ sưu tập.

    • Nếu bạn đang sử dụng phiên bản Power Apps Studio cổ điển, hãy chọn menu Tệp và chọn Biến trong ngăn bên trái.

  8. Để hiển thị tất cả các vị trí mà biến được xác định và sử dụng, hãy chọn nó trong Biến toàn cục.

    Danh sách vị trí dùng biến.

Các loại biến

Power Apps có 3 loại biến:

Loại biến Scope Mô tả Các hàm thiết lập
Biến toàn cầu Ứng dụng Đơn giản nhất để dùng. Giữ một số, chuỗi văn bản, Boolean, bản ghi, bảng, v.v. có thể được tham chiếu từ bất kỳ đâu trong ứng dụng. Đặt
Các biến ngữ cảnh Màn hình Rất thích hợp để truyền giá trị tới một màn hình, giống như các thông số sang một quy trình trong các ngôn ngữ khác. Chỉ có thể được tham chiếu từ một màn hình. UpdateContext
Điều hướng
Bộ sưu tập Ứng dụng Giữ một bảng mà có thể là tham chiếu từ bất cứ đâu trong ứng dụng. Cho phép các nội dung của bảng được sửa đổi thay vì được đặt toàn bộ. Có thể được lưu vào thiết bị cục bộ để sử dụng sau đó. Collect
ClearCollect

Tạo và xóa biến

Tất cả các biến hoàn toàn được tạo khi chúng xuất hiện trong hàm Set, UpdateContext, Navigate, Collect hoặc ClearCollect. Để biểu thị một biến và loại của biến đó, bạn chỉ cần đưa biến vào bất kỳ hàm nào trong số này tại vị trí nào đó trong ứng dụng của mình. Không hàm nào trong số này tạo biến; chúng chỉ lấp đầy các biến có giá trị. Bạn chưa bao giờ biểu thị biến một cách rõ ràng do bạn có thể đang dùng công cụ lập trình khác và tất cả thao tác nhập đều không có sẵn để sử dụng.

Chẳng hạn, bạn có thể có kiểm soát nút có công thức OnSelect thành Set( X, 1 ). Công thức này thiết lập X làm biến với một loại số. Bạn có thể sử dụng X trong công thức làm một số và biến đó có giá trị rỗng sau khi bạn mở ứng dụng nhưng trước khi bạn chọn nút. Khi chọn nút đó, bạn cung cấp X giá trị của 1.

Nếu bạn đã thêm một nút khác và đặt thuộc tính OnSelect thành Set( X, "Hello" ), một lỗi sẽ xảy ra do loại (text string) không khớp với loại trong Set (số) trước đó. Tất cả các định nghĩa ẩn của biến phải thống nhất về loại. Một lần nữa, tất cả điều này xảy ra do bạn đã đề cập tới X trong công thức, chứ không phải do bất kỳ công thức nào đó thực sự đã chạy.

Bạn xóa một biến bằng cách loại bỏ tất cả các hàm Set, UpdateContext, Navigate, Collect hoặc ClearCollect mà thiết lập ẩn biến. Nếu không có những hàm này, biến sẽ không tồn tại. Bạn cũng phải xóa mọi tham chiếu đến biến do chúng sẽ gây ra một lỗi.

Giá trị ban đầu và thời gian hoạt động của biến

Tất cả các biến được lưu giữ trong bộ nhớ trong khi ứng dụng chạy. Sau khi ứng dụng đóng, các giá trị mà biến lưu giữ đều bị mất.

Bạn có thể lưu trữ các nội dung của một biến trong nguồn dữ liệu bằng cách dùng hàm Patch hoặc Collect. Bạn cũng có thể lưu trữ các giá trị trong bộ sưu tập trên thiết bị cục bộ bằng cách dùng hàm SaveData.

Khi người dùng mở ứng dụng, tất cả các biến đều có giá trị ban đầu là rỗng.

Đọc biến

Bạn dùng tên của biến để đọc giá trị của nó. Ví dụ: bạn có thể xác định một biến bằng công thức sau:

Set( Radius, 12 )

Sau đó, bạn có thể chỉ cần sử dụng Bán kính ở bất cứ đâu mà bạn có thể dùng một số và nó sẽ được thay thế bằng 12:

Pi() * Power( Radius, 2 )

Nếu bạn cung cấp một biến ngữ cảnh có cùng tên với biến toàn cầu hoặc bộ sưu tập, biến ngữ cảnh sẽ được ưu tiên. Tuy nhiên, bạn vẫn có thể tham chiếu biến toàn cục hoặc tập hợp nếu bạn sử dụng toán tử định hướng[@Radius].

Sử dụng biến ngữ cảnh

Hãy xem cách cỗ máy thêm của chúng tôi sẽ được tạo bằng cách dùng một biến ngữ cảnh thay cho biến toàn cầu.

Cách hoạt động của biến ngữ cảnh:

  • Bạn hoàn toàn thiết lập và đặt biến ngữ cảnh bằng cách dùng hàm UpdateContext hoặc Navigate. Khi ứng dụng bắt đầu, giá trị ban đầu của tất cả các biến ngữ cảnh là rỗng.
  • Bạn cập nhật các biến ngữ cảnh có bản ghi. Trong các công cụ lập trình khác, bạn thường dùng "=" cho phép gán, như trong "x = 1". Đối với biến ngữ cảnh, hãy dùng { x: 1 }. Khi bạn dùng biến ngữ cảnh, hãy trực tiếp dùng tên của biến mà không cần cú pháp bản ghi.
  • Bạn cũng có thể đặt một biến ngữ cảnh khi dùng hàm Navigate để hiển thị một màn hình. Nếu bạn nghĩ màn hình là một loại quy trình hoặc đoạn chương trình con, thì cách này giống như một thông số truyền sang các công cụ lập trình khác.
  • Ngoại trừ Navigate, biến ngữ cảnh bị giới hạn đối với ngữ cảnh của một màn hình mà đó là nơi chúng nhận tên của mình. Bạn không thể dùng hoặc đặt chúng bên ngoài ngữ cảnh này.
  • Biến ngữ cảnh có thể giữ giá trị bất kỳ, bao gồm chuỗi, số, bản ghi và bảng.

Hãy tạo lại cỗ máy thêm của chúng ta bằng cách dùng một biến ngữ cảnh:

  1. Thêm kiểm soát nhập văn bản, có tên là TextInput1 và 2 nút là Button1Button2.

  2. Đặt thuộc tính Văn bản của Button1 thành "Thêm" và đặt thuộc tính Văn bản của Button2 thành "Xóa".

  3. Để cập nhật tổng hoạt động bất cứ khi nào người dùng chọn nút Thêm, hãy đặt thuộc tính OnSelect theo công thức sau:

    UpdateContext( { RunningTotal: RunningTotal + TextInput1 } )

    Sự tồn tại duy nhất của công thức này thiết lập RunningTotal làm biến ngữ cảnh giữ một số do toán tử +. Bạn có thể tham chiếu RunningTotal ở bất cứ đâu trong màn hình này. Bất cứ khi nào người dùng mở ứng dụng này, RunningTotal đều có giá trị ban đầu là rỗng.

    Lần đầu người dùng chọn nút ThêmUpdateContext chạy, RunningTotal sẽ được đặt thành giá trị RunningTotal + TextInput1.

    Thuộc tính OnSelect của nút Thêm với hàm updatecontext.

  4. Để đặt tổng hoạt động thành 0 bất cứ khi nào người dùng chọn nút Xóa, hãy đặt thuộc tính OnSelect của nó theo công thức sau:

    UpdateContext( { RunningTotal: 0 } )

    Một lần nữa, UpdateContext được dùng kèm công thức UpdateContext( { RunningTotal: 0 } ).

    Thuộc tính OnSelect của nút Xóa với hàm updatecontext.

  5. Thêm kiểm soát Nhãn và đặt thuộc tính Văn bản của nó thành RunningTotal.

    Công thức này sẽ tự động được tính lại và hiển thị cho người dùng giá trị của RunningTotal khi nó thay đổi dựa trên các nút mà người dùng chọn.

    Thuộc tính Văn bản của nhãn.

  6. Xem trước ứng dụng và chúng ta có cỗ máy thêm như mô tả ở trên. Nhập một số vào hộp văn bản và nhấn nút Thêm vài lần. Khi đã sẵn sàng, hãy quay lại trải nghiệm biên soạn bằng cách dùng phím Esc.

    Kiểm soát nhập văn bản hiển thị một giá trị còn nhãn hiển thị tổng hoạt động.

  7. Bạn có thể đặt giá trị của một biến ngữ cảnh trong khi chuyển sang một màn hình. Điều này khá hữu ích khi truyền "văn bản" hoặc "thông số" từ màn hình này sang màn hình khác. Để biểu thị kỹ thuật này, hãy chèn một màn hình, một nút và đặt thuộc tính OnSelect theo công thức sau:

    Navigate( Screen1, None, { RunningTotal: -1000 } )

    Thuộc tính OnSelect của một nút.

    Giữ phím Alt trong khi bạn chọn nút này để vừa hiển thị Screen1 và đặt biến ngữ cảnh RunningTotal thành -1000.

    Screen1 đang mở.

  8. Để hiển thị giá trị của biến ngữ cảnh, hãy thực hiện một trong các thao tác sau:

    • Nếu bạn đang sử dụng phiên bản xem trước của Power Apps Studio, hãy chọn Biến trong menu tác giả ứng dụng.

    • Nếu bạn đang sử dụng phiên bản Power Apps Studio cổ điển, hãy chọn menu Tệp, sau đó chọn Biến trong ngăn bên trái.

  9. Để hiển thị nơi biến ngữ cảnh được xác định và sử dụng, hãy chọn biến đó trong Biến ngữ cảnh.

Sử dụng một bộ sưu tập

Cuối cùng, hãy xem cách tạo cỗ máy thêm của chúng tôi bằng một bộ sưu tập. Do bộ sưu tập lưu giữ bảng dễ sửa đổi, nên chúng tôi sẽ khiến cỗ máy thêm này giữ một "băng giấy" của từng giá trị khi chúng được nhập.

Cách hoạt động của bộ sưu tập:

  • Tạo và đặt bộ sưu tập bằng cách dùng hàm ClearCollect. Bạn có thể dùng hàm Collect, nhưng nó sẽ yêu cầu một biến khác để thay cho biến cũ.
  • Bộ sưu tập là một loại nguồn dữ liệu, đó đó thường là một bảng. Để truy cập vào một giá trị trong bộ sưu tập, hãy dùng hàm First và trích xuất mộ trường từ bản ghi kết quả. Nếu bạn đã dùng một giá trị có ClearCollect, đây sẽ là trường Giá trị như trong ví dụ sau:
    First( VariableName ).Value

Hãy tạo lại cỗ máy thêm của chúng tôi bằng cách dùng một bộ sưu tập:

  1. Thêm kiểm soát Nhập văn bản có tên là TextInput1 và 2 nút là Button1Button2.

  2. Đặt thuộc tính Văn bản của Button1 thành "Thêm" và đặt thuộc tính Văn bản của Button2 thành "Xóa".

  3. Để cập nhật tổng hoạt động bất cứ khi nào người dùng chọn nút Thêm, hãy đặt thuộc tính OnSelect theo công thức sau:

    Collect( PaperTape, TextInput1.Text )

    Sự tồn tại duy nhất của công thức này thiết lập PaperTape làm bộ sưu tập lưu giữ bảng một cột gồm các chuỗi văn bản. Bạn có thể tham chiếu PaperTape ở bất cứ đâu trong ứng dụng này. Bất cứ khi nào người dùng mở ứng dụng này, PaperTape đều là một bảng trống.

    Khi công thức này chạy, nó sẽ thêm giá trị mới vào cuối bộ sưu tập. Do chúng tôi đang thêm một giá trị, nên Collect sẽ tự động đặt giá trị đó vào bảng một cột và tên cột là Giá trị, mà bạn sẽ dùng sau đó.

    Thuộc tính OnSelect của nút Thêm với hàm collect.

  4. Để xóa băng giấy khi người dùng chọn nút Xóa, hãy đặt thuộc tính OnSelect của nó theo công thức sau:

    Clear( PaperTape )

    Thuộc tính OnSelect của nút Xóa với hàm clear.

  5. Để hiển thị tổng hoạt động, hãy thêm nhãn và đặt thuộc tính Văn bản của nó theo công thức sau:

    Sum( PaperTape, Value )

    Thuộc tính Văn bản của nhãn.

  6. Để chạy cỗ máy thêm, hãy nhấn F5 để mở Xem trước, nhập các số vào kiểm soát nhập văn bản và chọn các nút.

    Kiểm soát Nhập văn bản hiển thị một giá trị và nhãn hiển thị tổng hoạt động.

  7. Để quay lại không gian làm việc mặc định, hãy nhấn phím Esc.

  8. Để hiển thị băng giấy, hãy chèn kiểm soát Bảng dữ liệu và đặt thuộc tính Mục của nó theo công thức sau:

    PaperTape

    Trong ngăn bên phải, hãy chọn Chỉnh sửa trường rồi chọn Thêm trường, chọn cột Giá trị rồi chọn Thêm để hiển thị.

    Bảng dữ liệu hiển thị các giá trị được thêm vào bộ sưu tập.

  9. Để xem các giá trị trong bộ sưu tập của bạn, hãy thực hiện một trong các thao tác sau:

    • Nếu bạn đang sử dụng phiên bản xem trước của Power Apps Studio, hãy chọn Biến trong menu tác giả ứng dụng rồi chọn Bộ sưu tập.

    • Nếu bạn đang sử dụng phiên bản cổ điển, Power Apps Studio hãy chọn Bộ sưu tập trên menu Tệp .

  10. Để lưu trữ và truy xuất bộ sưu tập của bạn, hãy thêm 2 kiểm soát nút và đặt thuộc tính Văn bản thành TảiLưu. Đặt thuộc tính OnSelect của nút Tải theo công thức sau:

    Clear( PaperTape ); LoadData( PaperTape, "StoredPaperTape", true )

    Bạn cần phải xóa bộ sưu tập trước do LoadData sẽ gắn thêm giá trị đã lưu trữ vào cuối bộ sưu tập.

    Thuộc tính OnSelect của nút Tải.

  11. Đặt thuộc tính OnSelect của nút Lưu theo công thức sau:

    SaveData( PaperTape, "StoredPaperTape" )

    Thuộc tính OnSelect* của nút Lưu.

  12. Xem trước một lần nữa bằng cách nhấn phím F5, nhập các số vào kiểm soát nhập văn bản và chọn các nút. Chọn nút Lưu. Đóng và tải lại ứng dụng rồi chọn nút Tải để tải lại bộ sưu tập của bạn.

Lưu ý

Các hàm SaveDataLoadData hoạt động trong Power Apps Mobile nhưng không hoạt động trong Power Apps Studio hoặc trình phát web cho Power Apps.

Lưu ý

Bạn có thể cho chúng tôi biết bạn thích dùng ngôn ngữ nào cho tài liệu không? Làm một cuộc khảo sát ngắn. (xin lưu ý, khảo sát này bằng tiếng Anh)

Cuộc khảo sát sẽ mất khoảng bảy phút. Không có dữ liệu cá nhân nào được thu thập (điều khoản về quyền riêng tư).