หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ถ้าคุณเคยใช้เครื่องมือการเขียนโปรแกรม เช่น Visual Basic หรือ JavaScript คุณอาจถามว่า ตัวแปรอยู่ที่ไหน Power Apps ทํางานแตกต่างกันและต้องการวิธีที่แตกต่างกัน แทนที่จะเข้าถึงตัวแปรเมื่อคุณสร้างแอปพื้นที่ทำงาน ถามตัวคุณเอง: ฉันจะทำอะไรใน Excel
ในเครื่องมืออื่น คุณอาจดําเนินการคํานวณอย่างชัดเจนและจัดเก็บผลลัพธ์ไว้ในตัวแปร แต่ Power Apps และ Excel จะคํานวณสูตรใหม่โดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงข้อมูลป้อนเข้า ดังนั้นคุณจึงไม่จําเป็นต้องสร้างหรืออัปเดตตัวแปร เมื่อใช้วิธีนี้ คุณจะสร้าง ทําความเข้าใจ และรักษาแอปของคุณได้ง่ายยิ่งขึ้น
ในบางครั้ง คุณจําเป็นต้องใช้ตัวแปรใน Power Apps ซึ่งขยายแบบจําลองของ Excel โดยการเพิ่มสูตรลักษณะการทํางาน สูตรเหล่านี้จะทำงานเมื่อ ตัวอย่างเช่น ผู้ใช้เลือกปุ่ม ภายในสูตรลักษณะการทํางาน มักจะเป็นประโยชน์ในการตั้งค่าตัวแปรสําหรับใช้ในสูตรอื่น ๆ
โดยทั่วไป ให้หลีกเลี่ยงการใช้ตัวแปร แต่ในบางครั้งเฉพาะตัวแปรเท่านั้นที่ช่วยให้คุณสร้างประสบการณ์ที่คุณต้องการ ตัวแปรจะถูกสร้างและกรอกโดยปริยาย เมื่อปรากฏในฟังก์ชันที่ตั้งค่า
แปล Excel ลงใน Power Apps
Excel
มาลองดูวิธีที่ Excel ทำงานกัน เซลล์สามารถมีค่า เช่น ตัวเลขหรือสตริง หรือสูตรที่ยึดตามค่าของเซลล์อื่น เมื่อคุณใส่ค่าอื่นลงในเซลล์ Excel จะคํานวณสูตรที่ขึ้นอยู่กับค่าใหม่โดยอัตโนมัติ คุณไม่จําเป็นต้องเขียนโปรแกรมเพื่อเปิดใช้งานลักษณะการทํางานนี้
ในตัวอย่างต่อไปนี้ เซลล์ A3 ใช้สูตร A1+A2 ถ้า A1 หรือ A2 เปลี่ยนแปลง A3 จะคํานวณใหม่โดยอัตโนมัติเพื่อแสดงการเปลี่ยนแปลง ลักษณะการทํางานนี้ไม่จําเป็นต้องมีการเขียนโค้ดภายนอกสูตรเอง
Excel ไม่มีตัวแปร ค่าของเซลล์ที่มีสูตรจะเปลี่ยนแปลงตามการป้อนข้อมูล แต่ไม่มีวิธีจดจําผลลัพธ์ของสูตรและจัดเก็บไว้ในเซลล์หรือที่อื่น ถ้าคุณเปลี่ยนค่าของเซลล์ สเปรดชีตทั้งหมดสามารถเปลี่ยนแปลงได้ และค่าที่คํานวณไว้ก่อนหน้านี้จะสูญหาย คุณสามารถคัดลอกและวางเซลล์ ได้ แต่นั่นด้วยตนเอง และไม่สามารถใช้ได้กับสูตร
Power Apps
แอปที่คุณสร้างใน Power Apps ทํางานเหมือนกับ Excel มาก แทนที่จะอัปเดตเซลล์ คุณเพิ่มตัวควบคุมที่ใดก็ได้บนหน้าจอ และตั้งชื่อสําหรับใช้ในสูตร
ตัวอย่างเช่น คุณสามารถคัดลอกลักษณะการทํางานของ Excel ในแอปโดยการเพิ่มตัวควบคุม ป้ายชื่อ ที่ชื่อว่า Label1 และตัวควบคุม ป้อนข้อความ สองตัวที่ชื่อว่า TextInput1 และ TextInput2 ถ้าคุณตั้งค่าคุณสมบัติ ข้อความ ของ Label1 เป็น TextInput1 + TextInput2 ระบบจะแสดงผลรวมของตัวเลขใน TextInput1 และ TextInput2 โดยอัตโนมัติ
โปรดสังเกตว่า มีการเลือกตัวควบคุม Label1 ซึ่งแสดงสูตร ข้อความ ในแถบสูตรที่ด้านบนของหน้าจอ สูตร TextInput1 + TextInput2 จะสร้างการขึ้นต่อกันระหว่างตัวควบคุมเหล่านี้ เช่นเดียวกับการขึ้นต่อกันระหว่างเซลล์ในเวิร์กบุ๊ก Excel มาเปลี่ยนค่าของ TextInput1:
สูตรสําหรับ Label1 จะคํานวณใหม่โดยอัตโนมัติและแสดงค่าใหม่
ใน Power Apps คุณใช้สูตรเพื่อตั้งค่าไม่เพียงแต่ค่าหลักของตัวควบคุม แต่ยังรวมถึงคุณสมบัติเช่นการจัดรูปแบบ ในตัวอย่างถัดไป สูตรสําหรับคุณสมบัติ สี ของป้ายชื่อจะแสดงค่าลบเป็นสีแดงโดยอัตโนมัติ ฟังก์ชัน If มีลักษณะที่คุ้นเคยจาก Excel:
If( Value(Label1.Text) < 0, Red, Black )
คุณใช้สูตรสําหรับหลายสถานการณ์:
- เมื่อ GPS ของอุปกรณ์เปิดอยู่ ตัวควบคุมแผนที่จะแสดงตําแหน่งที่ตั้งปัจจุบันของคุณด้วยสูตรที่ใช้ Location.Latitude และ Location.Longitude เมื่อคุณเลื่อน แผนที่จะติดตามตำแหน่งที่ตั้งของคุณโดยอัตโนมัติ
- ผู้ใช้อื่นอัปเดตแหล่งข้อมูล ตัวอย่างเช่น ผู้อื่นในทีมของคุณอาจอัปเดตรายการในรายการ เมื่อคุณรีเฟรชแหล่งข้อมูล สูตรที่ขึ้นต่อกันจะคํานวณใหม่โดยอัตโนมัติเพื่อแสดงข้อมูลที่อัปเดต ตัวอย่างเช่น คุณอาจตั้งค่าคุณสมบัติ Items ของแกลเลอรีเป็น สูตร Filter( SharePointList ) ซึ่งจะแสดงชุด ระเบียนที่กรองใหม่โดยอัตโนมัติ
ประโยชน์
การใช้สูตรในการสร้างแอปมีข้อดีหลายอย่าง:
- ถ้าคุณรู้จัก Excel คุณจะรู้จัก Power Apps ภาษาโมเดลและสูตรเป็นแบบเดียวกัน
- ถ้าคุณเคยใช้เครื่องมือการเขียนโปรแกรมอื่นๆ ให้ลองคิดว่าคุณจําเป็นต้องใช้โค้ดมากเพียงใดในตัวอย่างเหล่านี้ ใน Visual Basic คุณจะเขียนตัวจัดการเหตุการณ์สําหรับเหตุการณ์การเปลี่ยนแปลงบนตัวควบคุมการป้อนข้อความแต่ละตัว รหัสสำหรับการคำนวณในแต่ละกรณีมีความซ้ำซ้อนและอาจไม่สอดคล้องกัน หรือคุณจำเป็นต้องเขียนโปรแกรมย่อยร่วมกัน ใน Power Apps คุณทําทุกอย่างด้วยสูตรหนึ่งบรรทัดเดียว
- หากต้องการดูว่าข้อความของ Label1 มาจากไหน คุณทราบดีว่าจะต้องค้นหาที่ใด: สูตรในคุณสมบัติ ข้อความ ไม่มีวิธีอื่นในการเปลี่ยนแปลงข้อความของตัวควบคุมนี้ ในเครื่องมือการเขียนโปรแกรมดั้งเดิม ตัวจัดการเหตุการณ์หรือ Subroutine สามารถเปลี่ยนค่าของป้ายชื่อจากที่ใดก็ได้ในโปรแกรม ซึ่งทําให้ยากต่อการติดตามเวลาและตําแหน่งที่ตัวแปรเปลี่ยนแปลง
- ถ้าคุณเปลี่ยนตัวควบคุมแถบเลื่อนแล้วเปลี่ยนใจ คุณสามารถเปลี่ยนแถบเลื่อนกลับไปเป็นค่าเดิมได้ ซึ่งเหมือนกับไม่มีอะไรเปลี่ยนแปลง: แอปแสดงค่าตัวควบคุมเดียวกันเหมือนก่อนหน้านี้ ไม่มีผลที่ตามมาสําหรับการทดสอบและถามว่า "เกิดอะไรขึ้นถ้า" เช่นเดียวกับใน Excel
โดยทั่วไป ถ้าคุณสามารถทําอะไรก็ได้ด้วยสูตร คุณจะทําได้ดีกว่า ปล่อยให้โปรแกรมสูตรใน Power Apps ทำงานให้คุณ
ทราบว่าจะใช้ตัวแปรเมื่อไหร่
ลองเปลี่ยนตัวเพิ่มตัวอย่างของเราให้ดำเนินการแบบเครื่องการเพิ่มแบบเก่าด้วยผลรวมสะสม เมื่อคุณเลือกปุ่ม เพิ่ม คุณจะเพิ่มตัวเลขไปยังผลรวมสะสม เมื่อคุณเลือกปุ่ม ล้าง คุณจะตั้งค่าผลรวมสะสมเป็นศูนย์ใหม่
| แสดงผล | รายละเอียด |
|---|---|
|
เมื่อแอปเริ่มทำงาน ผลรวมการทำงานคือ 0 จุดสีแดงแสดงถึงนิ้วของผู้ใช้ในกล่องป้อนข้อความซึ่งผู้ใช้กรอก 77 |
|
ผู้ใช้เลือกปุ่ม เพิ่ม |
|
77 จะถูกเพิ่มไปยังผลรวมที่ผลรวมการทำงาน ผู้ใช้เลือกปุ่ม เพิ่ม อีกครั้ง |
|
77 จะถูกเพิ่มเข้าไปในผลรวมการทำงาน อีกครั้งส่งผลให้ได้ผลเป็น 154 ผู้ใช้เลือกปุ่ม ล้าง |
|
ผลรวมการทำงานจะถูกรีเซ็ทเป็น 0 |
เครื่องมือการเพิ่มของเราใช้บางสิ่งที่ไม่มีอยู่ใน Excel: ปุ่ม ในแอปนี้ คุณไม่สามารถใช้เฉพาะสูตรในการคำนวณผลรวมสะสม เนื่องจากค่าจะขึ้นอยู่กับชุดการดำเนินการที่ผู้ใช้จะใช้ แต่ให้คุณบันทึกและอัปเดตผลรวมสะสมด้วยตนเอง เครื่องมือการเขียนโปรแกรมส่วนใหญ่จัดเก็บข้อมูลนี้ใน ตัวแปร
บางครั้งคุณต้องใช้ตัวแปรสําหรับแอปของคุณเพื่อให้ทํางานตามที่คุณต้องการ แต่วิธีนี้มาพร้อมกับคําเตือน:
- คุณต้องอัปเดตผลรวมสะสมด้วยตนเอง การคํานวณใหม่อัตโนมัติไม่เหมาะสําหรับคุณ
- ผลรวมสะสมไม่ได้คำนวณจากค่าของคอนโทรลอื่น ๆ ซึ่งขึ้นอยู่กับจํานวนครั้งที่ผู้ใช้เลือกปุ่ม เพิ่ม และค่าที่อยู่ในตัวควบคุมการป้อนข้อความในแต่ละครั้ง ผู้ใช้ใส่ 77 และเลือก เพิ่ม สองครั้ง หรือใส่ 24 และ 130 สําหรับส่วนเพิ่มเติมแต่ละรายการหรือไม่ คุณไม่สามารถแยกแยะความแตกต่างได้เมื่อยอดรวมถึง 154
- การเปลี่ยนแปลงของผลรวมอาจมาจากการดําเนินการที่แตกต่างกัน ในตัวอย่างนี้ ทั้งปุ่ม เพิ่ม และ ล้าง จะอัปเดตผลรวม ถ้าแอปไม่ทํางานตามที่คุณคาดหวัง ปุ่มใดที่เป็นสาเหตุของปัญหา
ใช้ตัวแปรส่วนกลาง
เมื่อต้องการสร้างเครื่องการเพิ่ม คุณจําเป็นต้องมีตัวแปรในการเก็บผลรวมสะสม ตัวแปรที่ง่ายที่สุดที่จะใช้ใน Power Apps คือ ตัวแปรส่วนกลาง
วิธีที่ตัวแปรส่วนกลางทำงาน:
- ตั้งค่าของตัวแปรส่วนกลางด้วยฟังก์ชัน Set Set( MyVar, 1 ) ตั้งค่าตัวแปรส่วนกลาง MyVar เป็นค่า 1
- ใช้ตัวแปรส่วนกลางโดยการอ้างอิงชื่อที่ใช้กับฟังก์ชัน Set ในกรณีนี้ MyVar จะคืนค่า 1
- ตัวแปรส่วนกลางสามารถเก็บค่า รวมถึงสตริง ตัวเลข เรกคอร์ด และ ตาราง
สร้างเครื่องการเพิ่มใหม่โดยใช้ตัวแปรส่วนกลาง:
เพิ่มตัวควบคุมการป้อนข้อความที่ชื่อว่า TextInput1 และปุ่มสองปุ่มที่ชื่อว่า Button1 และ Button2
ตั้งค่าคุณสมบัติ Text ของ Button1 เป็น "Add" และตั้งค่าคุณสมบัติ Text ของ Button2 เป็น "Clear"
เมื่อต้องการอัปเดตผลรวมสะสมเมื่อผู้ใช้เลือกปุ่ม เพิ่ม ให้ตั้งค่าคุณสมบัติ OnSelect เป็นสูตรนี้:
Set( RunningTotal, RunningTotal + TextInput1 )
สูตรนี้สร้าง RunningTotal เป็นตัวแปรส่วนกลางที่เก็บตัวเลขไว้เนื่องจากตัว + ดําเนินการ การอ้างอิง RunningTotal ที่ใดก็ได้ในแอป เมื่อผู้ใช้เปิดแอป ผลรวมสะสม จะมีค่าเริ่มต้นเป็น ค่าว่าง
ครั้งแรกที่ผู้ใช้เลือกปุ่ม เพิ่ม และเมื่อ ตั้งค่า ถูกเรียกใช้ ผลรวมสะสม จะถูกตั้งค่าเป็น RunningTotal + TextInput1
เมื่อต้องการตั้งค่าผลรวมสะสมเป็น 0 เมื่อผู้ใช้เลือกปุ่ม ล้าง ให้ตั้งค่าคุณสมบัติ OnSelect เป็นสูตรนี้:
Set( RunningTotal, 0 )
เพิ่มตัวควบคุม ป้ายชื่อ และตั้งค่าคุณสมบัติ ข้อความ เป็น RunningTotal
สูตรนี้จะคํานวณใหม่โดยอัตโนมัติและแสดงค่า ผลรวมสะสม เนื่องจากมีการเปลี่ยนแปลงตามปุ่มที่ผู้ใช้เลือก
แสดงตัวอย่างแอป ใส่ตัวเลขในกล่องข้อความ และเลือกปุ่ม เพิ่ม สองสามครั้ง เมื่อพร้อมแล้ว ให้กลับไปยังประสบการณ์การเขียนโดยใช้แป้น Esc
หากต้องการแสดงค่าของตัวแปรส่วนกลาง ให้เลือก ตัวแปร บนเมนูการสร้างแอป
เมื่อต้องการแสดงตำแหน่งที่มีการกำหนดและใช้ตัวแปร ให้เลือกตัวแปรภายใต้ ตัวแปรส่วนกลาง
ชนิดของตัวแปร
Power Apps มีตัวแปรสามประเภท:
| ชนิดตัวแปร | Scope | รายละเอียด | ฟังก์ชั่นที่สร้างขึ้น |
|---|---|---|---|
| ตัวแปรส่วนกลาง | แอป | ใช้ตัวแปรส่วนกลางเพื่อเก็บตัวเลข สตริงข้อความ บูลีน ระเบียน ตาราง หรือค่าอื่นๆ ที่คุณอ้างอิงที่ใดก็ได้ในแอป | ตั้งค่า |
| ตัวแปรบริบท | หน้าจอ | ใช้ตัวแปรบริบทเพื่อส่งผ่านค่าไปยังหน้าจอ เช่น พารามิเตอร์ในภาษาอื่น ๆ คุณอ้างอิงจากหน้าจอเดียวเท่านั้น |
UpdateContext Navigate |
| คอลเลกชัน | แอป | ใช้คอลเลกชันเพื่อจัดเก็บตารางที่คุณอ้างอิงที่ใดก็ได้ในแอป คุณสามารถเปลี่ยนเนื้อหาของตาราง และบันทึกไปยังอุปกรณ์ภายในเครื่องเพื่อใช้งานในภายหลังได้ |
Collect ClearCollect |
สร้างและลบตัวแปร
ตัวแปรจะถูกสร้างขึ้นโดยนัยเมื่อปรากฏในฟังก์ชัน Set, UpdateContext, Navigate, Collect หรือ ClearCollect เพื่อประกาศตัวแปรและชนิดของตัวแปร เพียงแค่รวมไว้ในฟังก์ชันเหล่านี้ที่ใดก็ได้ในแอปของคุณ ฟังก์ชันเหล่านี้ไม่ได้สร้างตัวแปร แต่เพียงเติมตัวแปรด้วยค่าเท่านั้น คุณไม่เคยประกาศตัวแปรอย่างชัดเจนเหมือนกับที่คุณอาจอยู่ในเครื่องมือการเขียนโปรแกรมอื่น และการพิมพ์ทั้งหมดเป็นการกระทําโดยนัยจากการใช้งาน
ตัวอย่างเช่น คุณอาจมีตัวควบคุมปุ่มที่มีสูตร OnSelect เท่ากับ Set(X, 1) สูตรนี้สร้าง X เป็นตัวแปรที่เป็นประเภทตัวเลข คุณใช้ X ในสูตรเป็นตัวเลข และตัวแปรนั้นมีค่า ว่าง หลังจากที่คุณเปิดแอป แต่ก่อนที่คุณจะเลือกปุ่ม เมื่อคุณเลือกปุ่ม คุณจะให้ค่า X เป็น 1
ถ้าคุณเพิ่มอีกปุ่มหนึ่ง และตั้งค่าคุณสมบัติ OnSelect เป็น Set( X, "Hello" ), ข้อผิดพลาดเกิดขึ้นเนื่องจากชนิด (สตริงข้อความ) ไม่ตรงกับชนิดใน ชุด ก่อนหน้า (ตัวเลข) คำจำกัดความโดยนัยของตัวแปรทั้งหมดจะต้องมีประเภทตรงกัน อีกครั้ง ทั้งหมดนี้เกิดขึ้นเนื่องจากคุณกล่าวถึง X ในสูตร ไม่ใช่เนื่องจากสูตรใด ๆ เหล่านั้นทํางานจริง
ลบตัวแปรโดยการลบฟังก์ชัน Set, UpdateContext, Navigate, Collect หรือ ClearCollect ทั้งหมดที่สร้างตัวแปรโดยนัย หากไม่มีฟังก์ชันเหล่านี้ตัวแปรจะไม่มีอยู่ นอกจากนี้ ให้ลบการอ้างอิงใดๆ ไปยังตัวแปร เนื่องจากเป็นสาเหตุให้เกิดข้อผิดพลาด
อายุการใช้งานตัวแปรและค่าเริ่มต้น
ตัวแปรจะยังคงอยู่ในหน่วยความจําขณะที่แอปทํางาน เมื่อแอปปิด ค่าในตัวแปรจะสูญหาย
จัดเก็บเนื้อหาของตัวแปรในแหล่งข้อมูลโดยใช้ฟังก์ชัน Patch หรือ Collect จัดเก็บค่าในคอลเลกชันบนอุปกรณ์ภายในเครื่องโดยใช้ฟังก์ชัน SaveData
เมื่อผู้ใช้เปิดแอป ตัวแปรทั้งหมดจะเริ่มต้นด้วยค่าเริ่มต้นว่าง
การอ่านตัวแปร
ใช้ชื่อของตัวแปรเพื่ออ่านค่า ตัวอย่างเช่น กําหนดตัวแปรด้วยสูตรนี้:
Set( Radius, 12 )
จากนั้น ใช้ รัศมี ทุกที่ที่คุณใช้ตัวเลข และจะถูกแทนที่ด้วย 12:
Pi() * Power( Radius, 2 )
หากคุณให้ตัวแปรบริบทชื่อเดียวกันกับตัวแปรส่วนกลางหรือคอลเล็กชัน ตัวแปรบริบทจะมีความสำคัญกว่า คุณสามารถอ้างอิงตัวแปรส่วนกลางหรือคอลเลกชันโดยใช้ตัวดําเนินการขจัดความกํากวม[@Radius]
ชื่อตัวแปรที่สงวนไว้
อย่าใช้ชื่อตัวแปรต่อไปนี้ ชื่อเหล่านี้คือคุณสมบัติของแอป และการใช้ชื่อดังกล่าวอาจทําให้เกิดการชนของชื่อตัวแปรซึ่งส่งผลให้เกิดลักษณะการทํางานที่ไม่คาดคิดของแอป
- ActiveScreen
- DesignHeight
- DesignWidth
- Height
- MinScreenHeight
- MinScreenWidth
- SizeBreakpoints
- StudioVersion
- TestCaseId
- การทดสอบ
- TestSuiteId
- ธีม
- ความกว้าาง
ใช้ตัวแปรบริบท
มาดูวิธีที่คุณสร้างเครื่องการเพิ่มโดยใช้ตัวแปรบริบทแทนตัวแปรส่วนกลาง
วิธีการทํางานของตัวแปรบริบท
- คุณสร้างและตั้งค่าตัวแปรบริบทโดยใช้ฟังก์ชัน UpdateContext หรือ นำทาง เมื่อแอปเริ่มต้นค่าเริ่มต้นของแต่ละตัวแปรบริบทจะว่างเปล่า
- คุณอัปเดตตัวแปรบริบทด้วยเรกคอร์ด ในเครื่องมือการเขียนโปรแกรมอื่นๆ คุณมักจะใช้ "=" สําหรับการกําหนด เช่น "x = 1" สำหรับตัวแปรบริบท ให้ใช้ { x: 1 } แทน เมื่อคุณใช้ตัวแปรบริบท ให้ใช้ชื่อของโดยตรงโดยไม่มีไวยากรณ์ของเรกคอร์ด
- คุณยังสามารถตั้งค่าตัวแปรบริบทเมื่อคุณใช้ฟังก์ชัน Navigate แสดงหน้าจอ ถ้าคุณคิดว่าหน้าจอเป็นกระบวนการหรือ Subroutine ประเภทหนึ่ง วิธีการนี้จะเหมือนกับพารามิเตอร์ที่ส่งผ่านเครื่องมือการเขียนโปรแกรมอื่นๆ
- ยกเว้นสำหรับ Navigate ตัวแปรบริบทจะถูกจำกัดให้อยู่ในบริบทของหน้าจอเดียว ซึ่งเป็นสาเหตุที่มีชื่อนี้ คุณไม่สามารถใช้หรือตั้งค่าภายนอกบริบทนี้ได้
- ตัวแปรบริบทสามารถเก็บค่าใดก็ได้ รวมถึงสตริง ตัวเลข เรกคอร์ด และ ตาราง
สร้างเครื่องการเพิ่มใหม่โดยใช้ตัวแปรบริบท:
เพิ่มตัวควบคุม การป้อนข้อความ ที่ชื่อว่า TextInput1 และปุ่มสองปุ่มที่ชื่อว่า Button1 และ Button2
ตั้งค่าคุณสมบัติ Text ของ Button1 เป็น "Add" และตั้งค่าคุณสมบัติ Text ของ Button2 เป็น "Clear"
เมื่อต้องการอัปเดตผลรวมสะสมทุกครั้งที่ผู้ใช้เลือกปุ่ม เพิ่ม ให้ตั้งค่าคุณสมบัติ OnSelect เป็นสูตรนี้:
UpdateContext( { RunningTotal: RunningTotal + TextInput1 } )
สูตรนี้จะสร้าง RunningTotal เป็นตัวแปรบริบทที่มีตัวเลขเนื่องจากตัว + ดําเนินการ คุณอ้างอิง ผลรวมสะสม ที่ใดก็ได้ในหน้าจอนี้ เมื่อผู้ใช้เปิดแอป ผลรวมสะสม จะมีค่าเริ่มต้นเป็น ค่าว่าง
ครั้งแรกที่ผู้ใช้เลือกปุ่ม เพิ่ม และเรียกใช้ UpdateContextRunningTotal ถูกตั้งค่าเป็น ค่า RunningTotal + TextInput1
เมื่อต้องการตั้งค่าผลรวมสะสมเป็น 0 ทุกครั้งที่ผู้ใช้เลือกปุ่ม ล้าง ให้ตั้งค่าคุณสมบัติ OnSelect เป็นสูตรนี้:
UpdateContext( { RunningTotal: 0 } )
อีกครั้ง ให้ใช้ UpdateContext กับสูตร UpdateContext( { RunningTotal: 0 } )
เพิ่มตัวควบคุม ป้ายชื่อ และตั้งค่าคุณสมบัติ ข้อความ เป็น RunningTotal
สูตรนี้จะถูกคำนวณใหม่โดยอัตโนมัติ และแสดงค่า RunningTotal เนื่องจากมีการเปลี่ยนแปลงตามปุ่มที่ผู้ใช้เลือก
แสดงตัวอย่างแอป ใส่ตัวเลขในกล่องข้อความ และเลือกปุ่ม เพิ่ม สองสามครั้ง เมื่อคุณพร้อมแล้ว ให้กลับไปยังประสบการณ์การเขียนโดยใช้แป้น Esc
ตั้งค่าตัวแปรบริบทขณะนําทางไปยังหน้าจอเพื่อส่งผ่าน "บริบท" หรือ "พารามิเตอร์" จากหน้าจอหนึ่งไปยังอีกหน้าจอหนึ่ง เพื่อสาธิตเทคนิคนี้ ให้ใส่หน้าจอ ใส่ปุ่ม และตั้งค่าคุณสมบัติ OnSelect เป็นสูตรนี้:
Navigate( Screen1, None, { RunningTotal: -1000 } )
กดปุ่ม Alt ค้างไว้ในขณะที่คุณเลือกปุ่มนี้เพื่อแสดง Screen1 และตั้งค่าตัวแปรบริบท RunningTotal เป็น -1000
หากต้องการแสดงค่าของตัวแปรบริบท ให้เลือกทำอย่างใดอย่างหนึ่งต่อไปนี้:
หากคุณใช้ Power Apps Studio เวอร์ชันพรีวิว ให้เลือก ตัวแปร ในเมนูการสร้างแอป
ถ้าคุณกําลังใช้ Power Apps Studio เวอร์ชันคลาสสิก ให้เลือกเมนู ไฟล์ จากนั้นเลือก ตัวแปร ในบานหน้าต่างด้านซ้าย
เมื่อต้องการแสดงตำแหน่งที่มีการกำหนดและใช้ตัวแปรบริบท ให้เลือกตัวแปรภายใต้ ตัวแปรบริบท
ใช้คอลเลคชัน
มาสร้างเครื่องการเพิ่มโดยใช้คอลเลกชันกัน เนื่องจากคอลเลกชันเก็บตารางที่ง่ายต่อการเปลี่ยนแปลง เครื่องการเพิ่มนี้จะเก็บ "เทปกระดาษ" ของแต่ละค่าขณะที่คุณป้อนเข้าไป
วิธีที่คอลเลกชันทํางาน
- สร้างและตั้งค่าคอลเลกชันโดยใช้ฟังก์ชัน ClearCollect คุณสามารถใช้ฟังก์ชัน Collect แทน แต่จําเป็นต้องใช้ตัวแปรอื่นแทนการแทนที่ตัวแปรเก่า
- คอลเลกชันเป็นแหล่งข้อมูลชนิดหนึ่งและตาราง เมื่อต้องการรับค่าเดียวในคอลเลกชัน ให้ใช้ฟังก์ชัน First และรับเขตข้อมูลหนึ่งจากระเบียนผลลัพธ์ ถ้าคุณใช้ค่าเดียวกับ ClearCollect นี่คือเขตข้อมูล ค่า ตามตัวอย่างนี้:
First(VariableName).Value
สร้างเครื่องการเพิ่มโดยใช้คอลเลกชัน:
เพิ่มตัวควบคุม การป้อนข้อความ ที่ชื่อว่า TextInput1, และปุ่มสองปุ่มที่ชื่อว่า Button1 และ Button2
ตั้งค่าคุณสมบัติ Text ของ Button1 เป็น "Add" และตั้งค่าคุณสมบัติ Text ของ Button2 เป็น "Clear"
เมื่อต้องการอัปเดตผลรวมสะสมทุกครั้งที่ผู้ใช้เลือกปุ่ม เพิ่ม ให้ตั้งค่าคุณสมบัติ OnSelect เป็นสูตรนี้:
Collect( PaperTape, TextInput1.Text )
การที่สูตรนี้มีขึ้นทำให้ PaperTape เป็นคอลเลกชันที่เก็บตารางสตริงข้อความแบบคอลัมน์เดียว คุณสามารถอ้างอิง PaperTape ได้ทุกที่ในแอปนี้ เมื่อใดก็ตามที่ผู้ใช้เปิดแอปนี้ PaperTape เป็นตารางที่ว่างเปล่า
เมื่อสูตรนี้ทำงาน จะเพิ่มค่าใหม่ลงในตอนท้ายของคอลเลกชัน เนื่องจากเรากำลังเพิ่มค่าเดียว Collect จะวางค่าลงในตารางคอลัมน์เดียวโดยอัตโนมัติ และคอลัมน์มีชื่อว่า ค่า ซึ่งคุณจะใช้ในภายหลัง
เมื่อต้องการล้างเทปกระดาษ เมื่อผู้ใช้เลือกปุ่ม ล้าง ให้ตั้งค่าคุณสมบัติ OnSelect เป็นสูตรนี้:
Clear( PaperTape )
เมื่อต้องการเรียกใช้เครื่องการเพิ่ม ให้กด F5 เพื่อเปิดการแสดงตัวอย่าง ใส่ตัวเลขในตัวควบคุม การป้อนข้อความ และเลือกปุ่ม
หากต้องการกลับไปยังพื้นที่ทํางานเริ่มต้น ให้เลือก Esc
เมื่อต้องการแสดงเทปกระดาษ ให้แทรกตัวควบคุม ตารางข้อมูล และตั้งค่า **[รายการ](ตัวควบคุม/คุณสมบัติ 1 ในการดูค่าในคอลเลกชันของคุณ ให้ดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้:
ถ้าคุณกําลังใช้ Power Apps Studio เวอร์ชันตัวอย่าง เลือกตัวแปรในเมนูการเขียนแอป จากนั้นเลือกคอลเลกชัน
หากคุณกําลังใช้ Power Apps Studio เวอร์ชันคลาสสิก ให้เลือก คอลเลกชัน บนเมนู ไฟล์ ในการดูค่าในคอลเลกชันของคุณ ให้ดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้:
หากคุณใช้ Power Apps Studio เวอร์ชันพรีวิว ให้เลือก ตัวแปร ในเมนูการสร้างแอป แล้วเลือก คอลเลกชัน
หากคุณใช้ Power Apps Studio เวอร์ชันคลาสสิก ให้เลือก คอลเลกชัน บนเมนู ไฟล์
เมื่อต้องการจัดเก็บและรับคอลเลกชันของคุณ ให้เพิ่มตัวควบคุมปุ่มอีกสองตัว และตั้งค่าคุณสมบัติ Text เป็น โหลด และ บันทึก ตั้งค่าคุณสมบัติ OnSelect ของปุ่ม โหลด เป็นสูตรดังนี้:
Clear( PaperTape ); LoadData( PaperTape, "StoredPaperTape", true )
คุณจำเป็นต้องล้างคอลเลกชันก่อน เนื่องจาก LoadData จะผนวกค่าที่จัดเก็บไว้ในตอนท้ายของคอลเลกชัน
ตั้งค่าคุณสมบัติ OnSelect ของปุ่ม บันทึก เป็นสูตรนี้:
SaveData( PaperTape, "StoredPaperTape" )
แสดงตัวอย่างอีกครั้งโดยการเลือก F5 ใส่ตัวเลขในตัวควบคุมการป้อนข้อความ และเลือกปุ่ม เลือกปุ่ม บันทึก ปิดและโหลดแอปใหม่ และเลือกปุ่ม โหลด เพื่อโหลดคอลเลกชันของคุณใหม่
หมายเหตุ
ฟังก์ชัน SaveData และ LoadData ทำงานใน Power Apps Mobile แต่ไม่ใช่ Power Apps Studio หรือผู้เล่นเว็บสำหรับ Power Apps