Uygulamanızda koleksiyon oluşturma ve koleksiyonları güncelleştirmeCreate and update a collection in your app

Uygulamanızda kullanılabilecek verileri depolamak için bir koleksiyon kullanın.Use a collection to store data that can be used in your app. Koleksiyonlar, benzer öğelerden oluşan gruplardır.A collection is a group of items that are similar. Örneğin, şirketinizin satışını yaptığı tüm ürünlerin görüntülerini depolayan bir MyImages koleksiyonu oluşturabilirsiniz.For example, you create a MyImages collection that stores all the product images your company sells. PowerApps'te, MyImages koleksiyonunuzu ekleyebilir ve bu ürünlere ait tüm resimleri görüntüleyen bir uygulama oluşturabilirsiniz.Within PowerApps, you can add your MyImages collection and create an app that displays all the pictures of these products. Başka bir örnek vermek gerekirse, ürünleri ve her ürünün fiyatını listeleyen bir PriceList koleksiyonu oluşturabilirsiniz.In another example, you can create a PriceList collection that lists the products and the price of each product.

PowerApps'te koleksiyon oluşturabilir ve koleksiyonları kullanabilirsiniz.You can create and use collections within PowerApps. Haydi başlayalım.Let's get started.

ÖnkoşullarPrerequisites

  • PowerApps'e kaydolun, yükleyin, açın ve sonra kaydolmak için kullandığınız kimlik bilgilerini sağlayarak oturum açın.Sign up for PowerApps, install it, open it, and then sign in by providing the same credentials that you used to sign up.
  • PowerApps'te bir uygulama oluşturun veya mevcut bir uygulamayı açın.Create an app or open an existing app in PowerApps.
  • PowerApps'te bir denetimi yapılandırma hakkında bilgi edinin.Learn how to configure a control in PowerApps.
  • Bu adımlarda örnek giriş verileri olarak PriceList.zip dosyası kullanılmaktadır.These steps use the PriceList.zip file as sample input data. Zip dosyası, Excel'e dönüştürülebilir bir XML dosyası içerir.The zip file includes an XML file that can be converted to Excel. Aksi halde PowerApps, .zip dosyasındaki dosyaları otomatik olarak okur ve dosyayı başarıyla içeri aktarır.Otherwise, PowerApps automatically reads the files in the .zip files and imports it successfully. Bu örnek verileri indirip kullanabilir veya kendi verilerinizi içeri aktarabilirsiniz.You can download and use this sample data, or import your own.

Tek sütunlu koleksiyon oluşturmaCreate a single-column collection

Aşağıdaki adımlarda, Collect işlevini kullanarak uygulamanızda bir koleksiyon oluşturma ve koleksiyonunuza öğe ekleme işlemleri açıklanmaktadır.The following steps show you how to create a collection within your app using the Collect function, and how to add items to your collection.

  1. Uygulamanızı açın.Open your app.
  2. Ekle sekmesinde, Metin'i ve ardından Metin girişi'ni seçin:On the Insert tab, select Text, and then select Text input:
  3. Sol üst köşede, Text1'i seçin ve denetimi Destination olarak yeniden adlandırın:In the top left corner, select Text1, and rename the control to Destination:
  4. Ekle sekmesinde, tasarımcınıza bir düğme denetimi eklemek için Düğme'yi seçin.On the Insert tab, select Button to add a button control to your designer. Açılan listede OnSelect özelliği bulunur.From the drop-down list, the OnSelect property is listed. Bu özelliği aşağıdaki işlev olarak ayarlayın:Set it to the following function:

    Collect(Destinations, Destination!Text)

    İşlev, aşağıdaki gibi görünmelidir:It should look like the following:

  5. Düğme metnini seçin ve Add yazın:Select the button text, and enter Add:
  6. Add düğmesini seçin ve metin denetiminizin altına taşıyın.Select the Add button, and move it under your text control. Düğmeyi herhangi bir yere taşıyabilirsiniz:You can move it anywhere:

Bu adımlarda, Collect işlevini kullanarak Destinations adlı bir koleksiyon oluşturdunuz.In these steps, you used the Collect function to create a collection named Destinations. Ayrıca, seçildiğinde koleksiyonunuza yeni öğeler ekleyen bir düğme denetimi eklediniz.You also added a button control and when selected, adds new items to your collection. Şimdi ise oluşturduğunuz koleksiyona bakın:Now, see what you created:

  1. Önizleme seçeneğini belirleyin:Select Preview:
  2. Kutunun içine bir şehir adı yazın ve ardından Add düğmesini seçin.Type a city name into the box, and then select the Add button.
  3. Birkaç şehir adı daha girin ve her birinden sonra Add düğmesini seçin.Enter some additional city names and select the Add button each time.
  4. Önizleme penceresini kapatmak için Esc tuşuna basın.Press the Esc key to close the Preview window.
  5. Destinations koleksiyonuna ve girdiğiniz metin değerlerine bakın.See the Destinations collection and the text values you entered. Dosya sekmesindeki Koleksiyonlar'ı seçin.On the File tab, select Collections. Girmiş olduğunuz metinlerin listesi görünür:The text you entered is listed:

Ek çalışmaExtra credit

Şimdi de Destinations koleksiyonunu bir liste kutusuna bağlayalım:Now, let's bind the Destinations collection to a listbox:

  1. Tasarımcınıza geri dönün.Go back to your designer.
  2. Ekle sekmesinde, Denetimler'i ve ardından Liste kutusu'nu seçin:On the Insert tab, select Controls, and then select ListBox:
  3. Liste kutusunu, kolayca görebileceğiniz bir yere taşıyın.Move the listbox so you can easily see it. Items özelliğini aşağıdaki ifade olarak ayarlayın:Set its Items property to the following expression:
    Destinations!Value

    Bu işlemin ardından liste kutusu, Destinations koleksiyonuna önceden girdiğiniz öğelerle otomatik olarak doldurulur:When you do this, the listbox is automatically populated with the items you previously entered in the Destinations collection:

Değişikliklerinizi önizleyin: .Preview your changes: . Girdiğiniz farklı şehirleri liste kutusunda görebilirsiniz.In the listbox, you can see the different cities you entered. Metin girişi denetimine yeni bir şehir adı girin ve Add düğmesini seçin.In the text-input control, enter a new city, and select the Add button. Liste kutusu, girmiş olduğunuz yeni şehri de içerecek şekilde otomatik olarak güncelleştirilir.The listbox is automatically updated to include the new city you entered.

Çok sütunlu koleksiyon oluşturmaCreate a multi-column collection

Aşağıdaki adımlarda, Collect işlevini kullanarak uygulamanızda bir koleksiyon oluşturma ve koleksiyonunuza birden çok satır ekleme işlemleri açıklanmaktadır.The following steps show you how to create a collection within your app using the Collect function, and how to add multiple rows to your collection.

  1. Giriş sekmesinde yeni bir ekran açın.On the Home tab, open a new screen.
  2. Ekle sekmesinde, Metin'i ve ardından Metin girişi'ni seçin.On the Insert tab, select Text, and then select Text input.
  3. Metin denetimini City olarak yeniden adlandırın:Rename the text control to City:
  4. Başka bir metin girişi denetimi ekleyin ve denetimi States olarak yeniden adlandırın.Insert another text-input control, and rename it to States.
  5. City ve States metin denetimlerini, her ikisini de görebileceğiniz bir yere taşıyın:Move the City and States text controls so you can see them both:

    Not

    "Metin girişi" ifadesini, görüntüdeki gibi "City" veya "State" benzeri bir ifade ile değiştirebilirsiniz.You can replace 'Text Input' with something like 'City' or 'State', which was done in the image.

  6. Ekle sekmesindeki Düğme'yi seçin.On the Insert tab, select Button. Denetimin OnSelect özelliğini şu işlev olarak ayarlayın:Set its OnSelect property to the following function:
    Collect(Destinations, {Cities:City!Text, States:States!Text})

    İşlev, aşağıdaki gibi görünmelidir:It should look like the following:

    Not

    Bu koleksiyona başka sütunlar eklemek için de aynı işlevi kullanabilirsiniz.You can use this same function to add additional columns to this collection. Örneğin, Countries sütunu eklemek üzere Country için başka bir metin girişi denetimi ekleyebilirsiniz:For example, you can add another text-input control for Country to add a Countries column:

    Collect(Destinations, {Cities:City!Text, States:States!Text}, {Countries:Country!Text})

  7. Düğme denetimini AddCityStateButton olarak yeniden adlandırın ve denetimin Text özelliğini Add City and State olarak ayarlayın:Rename the button control AddCityStateButton, and set its Text property to Add City and State:

Bu adımları uygulayarak Destinations koleksiyonunuza Cities ve States sütunu eklediniz.In these steps, you added a Cities column and a States column to the Destinations collection. Düğme denetimi, bu yeni metin öğelerini koleksiyonunuza ekler.The button control adds these new text items to your collection. Şimdi ise oluşturduğunuz koleksiyona bakın:Now, see what you created:

  1. Önizleme seçeneğini belirleyin:Select Preview:
  2. City ve State kutularına herhangi bir metin girin ve ardından Add City and State düğmesini seçin.Type some text into the City and State boxes, and then select the Add City and State button.
  3. Birkaç şehir ve eyalet adı daha ekleyin.Add a few more cities and states.
  4. Önizleme penceresini kapatmak için Esc tuşuna basın.Press the Esc key to close the Preview window.
  5. Destinations koleksiyonuna eklediğiniz öğeleri görmek için Dosya sekmesini ve ardından Koleksiyonlar'ı seçin:To see the items you added to the Destinations collection, select the File tab, and then select Collections:

Bir koleksiyona sütun eklemeAdd columns to a collection

Bu kılavuzda birkaç bölüm bulunmaktadır.There are a few sections in this walk-through. Kılavuz tamamlandığında; koleksiyonunuza veri aktarmayı, fiyat listesinde veriler gösteren bir galeri oluşturmayı ve ürün miktarını belirleyen bir kaydırıcı denetimi kullanmayı öğrenmiş olacaksınız.When complete, you'll know how to import data into your collection, create a gallery that shows data in a price list, and use a slider control that determines the quantity of a product.

Fiyat listesini içeri aktarma ve koleksiyonu oluşturmaImport the price list and create the collection

  1. PriceList zip dosyasını indirin.Download the PriceList zip file.
  2. Giriş sekmesinde yeni bir ekran ekleyin.On the Home tab, add a new screen.
  3. Ekle sekmesinde, Denetimler'i ve ardından İçeri aktar'ı seçin:On the Insert tab, select Controls, and then select Import:
  4. Action sekmesindeki OnSelect seçeneğini belirleyin.On the Action tab, select OnSelect. Şu işlevi girin:Enter the following function:

    Collect(PriceList, Import1!Data)

  5. Uygulamanızı önizleyin.Preview your app. Import Data düğmesini ve ardından PriceList.zip dosyasını seçip seçeneğini belirleyin.Select the Import Data button, select the PriceList.zip file, and select Open.
  6. Önizleme penceresini kapatın.Close the Preview window.
  7. Dosya sekmesini ve ardından Koleksiyonlar'ı seçin.Select the File tab, and select Collections. İçeri aktardığınız PriceList öğeleri listelenir:The PriceList items you imported are listed:
  1. Tasarımcınıza geri dönün.Go back to your designer.
  2. Ekle sekmesindeki Galeri'yi seçin, Özel Galeriler'e gidin ve ardından Dikey seçeneğini belirleyin:On the Insert tab, select Gallery, scroll down to Custom Galleries, and then select Portrait:
  3. Galeriyi PriceGallery olarak yeniden adlandırın ve Items özelliğini PriceList olarak ayarlayın:Rename the gallery to PriceGallery and set the Items property to PriceList:
  4. PriceList galerisini Import Data denetiminin altına taşıyın.Move the PriceList gallery below the Import Data control. Galeriyi üç kare gösterilecek şekilde yeniden boyutlandırmak için galeri kenarlıklarını seçin ve tıklayıp sürükleme özelliğini kullanın.Select the gallery borders and use click-and-drag to resize the gallery so three squares are shown.
  5. Galerideki birinci kareyi seçin ve üç etiket ekleyin (Ekle sekmesi > Etiket).In the gallery, select the first square, and add three labels (Insert tab > Label).
  6. Etiketleri birinci karenin üst kısmına yakın bir satırda yeniden boyutlandırın ve düzenleyin.Resize and arrange the labels in a row near the top of the first square. Galeriniz aşağıdaki gibi görünür:Your gallery looks similar to the following:
  7. Her bir etiketin Text özelliğini şu ifade olarak ayarlayın:Set the Text property of each label to the following expression:

    EtiketLabel Text özelliğinin ayarlanacağı ifadeSet Text property to
    Label1Label1 ThisItem!Name
    Label2Label2 Text(ThisItem!Price, "$#")
    Label3Label3 ThisItem!Maker

    Bunu yaptığınızda etiketler; PriceList koleksiyonundaki ad, fiyat ve oluşturucu değerleri ile otomatik olarak güncelleştirilir.When you do this, the labels are automatically updated with the name, price, and maker values within the PriceList collection.

  8. Fazla boşlukları kaldırmak için etiketleri ve galeriyi yeniden boyutlandırın.Resize the labels and the gallery to remove any extra spaces. Ekranınız aşağıdaki gibi görünür:Your screen look similar to the following:

Miktar kaydırıcısı ekleme ve koleksiyonu güncelleştirmeAdd the quantity slider and update the collection

  1. Ekle menüsünde, Denetimler'i ve Kaydırıcı'yı seçin.On the Insert menu, select Controls, and select Slider. Kaydırıcıyı OrderQty olarak yeniden adlandırın ve galerinin altına taşıyın.Rename the slider to OrderQty, and move it under the gallery.
  2. Bir düğme ekleyin, Text özelliğini Add olarak ayarlayın ve düğmeyi OrderQty kaydırıcısının altına taşıyın.Add a button, set its Text property to Add, and move it under the OrderQty slider. Uygulamanız aşağıdaki gibi görünür:Your app looks similar to the following:
  3. Add düğmesinin OnSelect özelliğini şu ifade olarak ayarlayın:Set the OnSelect property of the Add button to the following expression:

    Collect(OrderList, {Name:PriceGallery!Selected!Name, Qty:OrderQty!Value, Cost:OrderQty!Value*LookUp(PriceList, PriceGallery!Selected!Name in Name, Price)});SaveData(OrderList, "orderfile")

    Not

    Bu yordamın sonraki adımlarında bu düğmeyi seçerek OrderList adlı bir koleksiyon oluşturacak ve koleksiyonu kaydedeceksiniz.When you select this button later in this procedure, you'll create and save a collection named OrderList. Koleksiyon, galeriye girdiğiniz bir ürünün adını, kaydırıcı ile seçtiğiniz bir miktar değerini ve ürünün fiyatı ile miktarı çarpılarak hesaplanan toplam maliyeti içerecektir.The collection will contain the name of a product that you enter in the gallery, a quantity that you choose with the slider, and the total cost calculated by multiplying the quantity by the price of the product.

  4. Ekran sekmesini seçin ve OnVisible özelliğini şu ifade olarak ayarlayın:Select the Screen tab and set the OnVisible property to the following expression:

    If(IsEmpty(PriceList), LoadData(PriceList, "pricefile"));If(IsEmpty(OrderList), LoadData(OrderList, "orderfile"))

Şimdi ise oluşturduğunuz koleksiyona bakın:Now, see what you created:

  1. Önizleme modunu açın.Open Preview.
  2. Galeriden bir ürün seçin, kaydırıcıyı istediğiniz miktar değerine getirin ve ardından Add düğmesini seçin.Select a product in the gallery, move the slider to your desired quantity, and then select the Add button.

    Önemli

    Bir ürün seçtiğinizde söz konusu ürün, seçiminizi belirtecek şekilde vurgulanmaz.When you select a product, that product is not highlighted to indicate you selected it. Galeriyi oluştururken bu işlevi eklememiştik.When we created the gallery, we didn't add this functionality. Ancak ürüne tıkladığınızda ürün seçilmiş olur.Know that clicking the product does select it.

  3. Birkaç ürün daha eklemek için bu adımları yineleyin.Repeat these steps to add a couple more products. Önizleme penceresini kapatmak için ESC tuşuna basın.Press ESC to close the Preview window.
  4. Dosya sekmesinde, oluşturduğunuz OrderList koleksiyonunun önizlemesini görüntülemek için Koleksiyonlar seçeneğini belirleyin:On the File tab, select Collections to display a preview of the OrderList collection you created:

İpucu

Sipariş listesinden tüm öğeleri kaldırmak için Text özelliğini Clear, OnSelect özelliğini ise şu ifade olarak ayarlayın:To remove all items from the order list, add a button, set its Text property to Clear, and set its OnSelect property to the following expression:
Clear(OrderList);SaveData(OrderList, "orderfile")
Her seferde tek bir öğe kaldırmak için OrderList koleksiyonunu bir galeride gösterin ve ardından ilgili galerideki bir etiketin OnSelect özelliğini şu ifade olarak ayarlayın:To remove one item at a time, show the OrderList collection in a gallery, and then set the OnSelect property of a label in that gallery to the following expression:
Remove(OrderList, ThisItem);SaveData(OrderList, "orderfile")

İpuçları ve Püf NoktalarıTips and Tricks

  • Dilediğiniz zaman Önizleme düğmesini () seçerek grafiklerinizi görüntüleyebilir ve verilerle nasıl göründüklerini inceleyebilirsiniz.At anytime, you can select the Preview button () to view your charts, and to see how they look with data.
  • Uygulamanızı tasarlarken denetimleri yeniden boyutlandırabilir ve tıklayıp sürükleme özelliğini kullanarak taşıyabilirsiniz.When designing your app, you can re-size the controls and move them around using click-and-drag.

ÖğrendiklerinizWhat you learned

Bu konu başlığında:In this topic, you:

  • Collect() işlevini kullanarak uygulamanızda bir koleksiyon oluşturdunuz.Used the Collect() function to create a collection within your app.
  • Seçildiğinde koleksiyonunuza yeni öğeler ekleyen bir düğme denetimi eklediniz.You added a button control and when selected, the button adds new items to your collection.
  • Liste kutusunu kullanarak koleksiyonunuza öğeler eklediniz.Used a listbox to add items to your collection.
  • Koleksiyonunuzdaki öğeleri güncelleştirmek için bir kaydırıcı denetimi eklediniz.Added a slider control to update items within the collection.