DataGrid bileşenini kullanma

DataGrid bileşeni, bir diziden veya DataProvider için bir diziye ayrıştırabileceğiniz harici bir XML dosyasından verileri çizerek satır ve sütun ızgarasında görüntülemenize olanak sağlar. DataGrid bileşeni, dikey ve yatay kaydırma, olay desteği (düzenlenebilir hücreler desteği dahil) ve sıralama yeteneklerini içerir.

Font, renk ve ızgaradaki sütunların kenarlıkları gibi özellikleri yeniden boyutlandırabilir ve özelleştirebilirsiniz. Izgaradaki herhangi bir sütun için hücre oluşturucu olarak özel bir film klibi kullanabilirsiniz. (Hücre oluşturucu, hücrenin içeriklerini görüntüler) Sayfa görünüm stili görüntüsü oluşturmak için kaydırma çubuklarını devre dışı bırakabilir ve DataGrid yöntemlerini kullanabilirsiniz. Özelleştirmeyle ilgili daha fazla bilgi için, Adobe® Flash® Professional CS5 için ActionScript® 3.0 Başvurusu bölümündeki DataGridColumn sınıfına bakın.

DataGrid bileşeniyle kullanıcı etkileşimi

DataGrid bileşeniyle etkileşim kurmak için fare ve klavyeyi kullanabilirsiniz.

Hem sortableColumns özelliği hem de sütunun sortable özelliği, true olursa, sütun üstbilgisi tıklatıldığında sütunun değerleri esas alınarak veriler sıralanır. sortable özelliğini false değerine ayarlayarak tek bir sütun için sıralamayı devre dışı bırakabilirsiniz.

resizableColumns özelliği true olursa, üstbilgi satırında sütun bölücüleri sürükleyerek sütunları yeniden boyutlandırabilirsiniz.

Düzenlenebilir bir hücre tıklatıldığında odak o hücreye verilir; düzenlenemez bir hücre tıklatıldığında odak üzerine herhangi bir etki olmaz. Hücrenin hem DataGrid.editable hem de DataGridColumn.editable özellikleri true olduğunda tek bir hücre düzenlenebilir olur.

Daha fazla bilgi için, Adobe® Flash® Professional CS5 için ActionScript® 3.0 Başvurusu bölümündeki DataGrid ve DataGridColumn sınıflarına bakın .

DataGrid örneği, tıklatma veya basma işlemiyle odağı aldığında, örneği denetlemek için şu tuşları kullanabilirsiniz:

Anahtar

Açıklama

Aşağı Ok

Bir hücre düzenlenirken, ekleme noktası hücre metninin sonuna kayar. Hücre düzenlenebilir değilse, Aşağı Ok tuşu, List bileşeninin işlediği şekilde seçimi işler.

Yukarı Ok

Bir hücre düzenlenirken, ekleme noktası hücre metninin başına kayar. Hücre düzenlenebilir değilse, Yukarı Ok tuşu, List bileşeninin işlediği şekilde seçimi işler.

Üst Karakter+Yukarı/Aşağı Ok

DataGrid düzenlenebilir değilse ve allowMultipleSelection öğesi true değerindeyse, bitişik satırları seçer. Karşı yön okuyla yön tersine çevrildiğinde, başlangıç satırını geçinceye kadar seçili satırların seçimi kaldırılır ve bu noktada o yöndeki satırlar seçilir.

Üst Karakter+Tıklatma

allowMultipleSelection öğesi true olursa, seçili satır ile geçerli düzeltme konumu (vurgulu hücre) arasındaki tüm satırları seçer.

Ctrl+Tıklatma

allowMultipleSelection öğesi true olursa, bitişik olmak zorunda olmayan ek satırları seçer.

Sağ Ok

Bir hücre düzenlenirken, ekleme noktası bir karakter sağa kayar. Hücre düzenlenebilir değilse, Sağ Ok herhangi bir şey yapmaz.

Sol Ok

Bir hücre düzenlenirken, ekleme noktası bir karakter sola kayar. Hücre düzenlenebilir değilse, Sol Ok herhangi bir şey yapmaz.

Home

DataGrid öğesinde ilk satırı seçer.

End

DataGrid öğesinde son satırı seçer.

PageUp

DataGrid sayfasında ilk satırı seçer. Sayfa, DataGrid öğesinin kaydırma olmadan görüntüleyebildiği satırlardan oluşur.

PageDown

DataGrid sayfasında son satırı seçer. Sayfa, DataGrid öğesinin kaydırma olmadan görüntüleyebildiği satırlardan oluşur.

Return/Enter/Üst Karakter+Enter

Hücre düzenlenebilir olduğunda, değişiklik yapılır ve ekleme noktası aynı sütunda, sonraki satıra (kaydırma geçişine bağlı olarak yukarı veya aşağı) taşınır.

Üst Karakter+Sekme/Sekme

DataGrid düzenlenebilir durumdaysa, sütunun sonuna ulaşılıncaya kadar odağı önceki/sonraki öğeye ve sonra ilk veya son hücreye ulaşılıncaya kadar önceki/sonraki satıra taşır. İlk hücre seçildiğinde, Üst Karakter+Sekme tuşları odağı bir önceki denetime taşır. Son hücre seçildiğinde, Sekme tuşu odağı bir sonraki denetime taşır.

DataGrid öğesi düzenlenebilir değilse, odağı önceki/sonraki denetime taşır.

Çok sayıda veri tabanlı uygulama türleri için temel olarak DataGrid bileşenini kullanabilirsiniz. Verilerin biçimlendirilmiş çizelgeli görünümünü kolayca görüntüleyebilirsiniz ancak daha karmaşık ve düzenlenebilir kullanıcı arabirimleri oluşturmak için hücre oluşturucusu yeteneklerini de kullanabilirsiniz. DataGrid bileşeninin pratik kullanımları şunlardır:

  • Web postası istemcisi

  • Arama sonuçları sayfaları

  • Borç hesaplayıcıları ve vergi formu uygulamaları gibi elektronik tablo uygulamaları

DataGrid bileşeniyle bir uygulama tasarladığınızda, DataGrid sınıfı SelectableList sınıfını uzattığından, List bileşeninin tasarımının anlaşılması yararlı olacaktır. SelectableList sınıfı ve List bileşeniyle ilgili daha fazla bilgi için, Adobe® Flash® Professional CS5 için ActionScript® 3.0 Başvurusu bölümündeki SelectableList ve List sınıflarına bakın .

Uygulamanıza bir DataGrid bileşeni eklediğinizde, aşağıdaki ActionScript kodu satırlarını ekleyerek bu bileşeni bir ekran okuyucusu için erişilebilir duruma getirebilirsiniz:

import fl.accessibility.DataGridAccImpl; 
DataGridAccImpl.enableAccessibility();

Bileşenin kaç tane örneğe sahip olduğuna bakılmaksızın, bir bileşenin erişilebilirliğini yalnızca bir defa etkinleştirebilirsiniz. Daha fazla bilgi için bkz. Bölüm 18, “Erişilebilir İçerik Oluşturma,” Flash Uygulamasını Kullanma .

DataGrid bileşeni parametreleri

Her DataGrid bileşen örneği için Özellik denetçisinde veya Bileşen denetçisinde şu geliştirme parametrelerini ayarlayabilirsiniz: allowMultipleSelection , editable , headerHeight , horizontalLineScrollSize , horizontalPageScrollSize , horizontalScrolllPolicy , resizableColumns , rowHeight , showHeaders , verticalLineScrollSize , verticalPageScrollSize ve verticalScrollPolicy . Bu parametrelerin her biri, aynı adda, karşılık gelen ActionScript özelliğine sahiptir. Bu parametrelerin olası değerleriyle ilgili bilgi için, Adobe® Flash® Professional CS5 için ActionScript® 3.0 Başvurusu bölümündeki DataGrid sınıfına bakın.

DataGrid bileşeniyle uygulama oluşturma

DataGrid bileşeniyle bir uygulama oluşturmak için öncelikle verilerinizin geldiği yeri belirlemeniz gerekir. Tipik olarak veriler dataProvider özelliğini ayarlayarak ızgaraya çekebileceğiniz bir Array öğesinden gelir. Izgaraya veri eklemek için DataGrid ve DataGridColumn sınıflarının yöntemlerini de kullanabilirsiniz.

DataGrid bileşeniyle yerel bir veri sağlayıcısı kullanın

Bu örnekte, beysbol takımının görev listesini görüntülemek için bir DataGrid oluşturulmaktadır. Bir Array öğesinde ( aRoster ) görev listesini tanımlar ve bunu DataGrid’in dataProvider özelliğine atar.

  1. Flash uygulamasında, Dosya > Yeni seçeneklerini belirleyin ve sonra Flash Dosyası (ActionScript 3.0) öğesini seçin.

  2. DataGrid bileşenini Bileşenler panelinden Sahne Alanı'na sürükleyin.

  3. Özellik denetçisinde, aDg örnek adını girin.

  4. Eylemler panelini açın, ana Zaman Çizelgesi'nde Kare 1'i seçin ve şu ActionScript kodunu girin:

    import fl.data.DataProvider; 
     
    bldRosterGrid(aDg); 
    var aRoster:Array = new Array(); 
    aRoster = [ 
            {Name:"Wilma Carter", Bats:"R", Throws:"R", Year:"So", Home: "Redlands, CA"},  
            {Name:"Sue Pennypacker", Bats:"L", Throws:"R", Year:"Fr", Home: "Athens, GA"}, 
            {Name:"Jill Smithfield", Bats:"R", Throws:"L", Year:"Sr", Home: "Spokane, WA"}, 
            {Name:"Shirley Goth", Bats:"R", Throws:"R", Year:"Sr", Home: "Carson, NV"}, 
            {Name:"Jennifer Dunbar", Bats:"R", Throws:"R", Year:"Fr", Home: "Seaside, CA"}, 
            {Name:"Patty Crawford", Bats:"L", Throws:"L", Year:"Jr", Home: "Whittier, CA"}, 
            {Name:"Angelina Davis", Bats:"R", Throws:"R", Year:"So", Home: "Odessa, TX"}, 
            {Name:"Maria Santiago", Bats:"L", Throws:"L", Year:"Sr", Home: "Tacoma, WA"}, 
            {Name:"Debbie Ferguson", Bats:"R", Throws:"R", Year: "Jr", Home: "Bend, OR"}, 
            {Name:"Karen Bronson", Bats:"R", Throws:"R", Year: "Sr", Home: "Billings, MO"}, 
            {Name:"Sylvia Munson", Bats:"R", Throws:"R", Year: "Jr", Home: "Pasadena, CA"}, 
            {Name:"Carla Gomez", Bats:"R", Throws:"L", Year: "Sr", Home: "Corona, CA"}, 
            {Name:"Betty Kay", Bats:"R", Throws:"R", Year: "Fr", Home: "Palo Alto, CA"}, 
    ]; 
    aDg.dataProvider = new DataProvider(aRoster); 
    aDg.rowCount = aDg.length; 
     
    function bldRosterGrid(dg:DataGrid){ 
        dg.setSize(400, 300); 
        dg.columns = ["Name", "Bats", "Throws", "Year", "Home"]; 
        dg.columns[0].width = 120; 
        dg.columns[1].width = 50; 
        dg.columns[2].width = 50; 
        dg.columns[3].width = 40; 
        dg.columns[4].width = 120; 
        dg.move(50,50); 
    };

    bldRosterGrid() işlevi, DataGrid öğesinin boyutunu ayarlar ve sütunların ve boyutlarının sırasını belirler.

  5. Kontrol Et > Filmi Test Et'i seçin.

Bir uygulamada DataGrid bileşeni için sütunları belirtme ve sıralama ekleme

Herhangi bir sütun başlığını tıklatarak, DataGrid öğesinin içeriklerini o sütunun değerlerine göre azalan sırada düzenleyebileceğinizi unutmayın.

Aşağıdaki örnek, bir DataGrid öğesine DataGridColumn örnekleri eklemek için addColumn() yöntemini kullanır. Sütunlar, oynatıcı adlarını ve puanlarını temsil eder. Ayrıca bu örnek her sütun için sıralama seçeneklerini belirtmek üzere sortOptions özelliğini kullanır: Ad sütunu için Array.CASEINSENSITIVE ve Puan sütunu için Array.NUMERIC . Uzunluğu satır sayısına ve genişliği de 200 değerine ayarlayarak DataGrid öğesini uygun şekilde boyutlandırır.

  1. Flash uygulamasında, Dosya > Yeni seçeneklerini belirleyin ve sonra Flash Dosyası (ActionScript 3.0) öğesini seçin.

  2. DataGrid bileşenini Bileşenler panelinden Sahne Alanı'na sürükleyin.

  3. Özellik denetçisinde, aDg örnek adını girin.

  4. Eylemler panelini açın, ana Zaman Çizelgesi'nde Kare 1'i seçin ve şu ActionScript kodunu girin:

    import fl.controls.dataGridClasses.DataGridColumn; 
    import fl.events.DataGridEvent; 
    import fl.data.DataProvider; 
    // Create columns to enable sorting of data. 
    var nameDGC:DataGridColumn = new DataGridColumn("name"); 
    nameDGC.sortOptions = Array.CASEINSENSITIVE; 
    var scoreDGC:DataGridColumn = new DataGridColumn("score"); 
    scoreDGC.sortOptions = Array.NUMERIC; 
    aDg.addColumn(nameDGC); 
    aDg.addColumn(scoreDGC); 
    var aDP_array:Array = new Array({name:"clark", score:3135}, {name:"Bruce", score:403}, {name:"Peter", score:25}) 
    aDg.dataProvider = new DataProvider(aDP_array); 
    aDg.rowCount = aDg.length; 
    aDg.width = 200;
  5. Kontrol Et > Filmi Test Et'i seçin.

ActionScript kullanarak DataGrid bileşen örneği oluşturma

Bu örnek, ActionScript kullanarak bir DataGrid oluşturur ve bunu oynatıcı adları ve puanlarını içeren bir Array öğesi ile doldurur.

  1. Yeni bir Flash (ActionScript 3.0) belgesi oluşturun.

  2. DataGrid bileşenini Bileşenler panelinden geçerli belgenin Kütüphane paneline sürükleyin.

    Bu işlem sonucunda bileşen kütüphaneye eklenir ancak uygulamada görünür duruma getirilmez.

  3. Eylemler panelini açın, ana Zaman Çizelgesi'nde Kare 1'i seçin ve şu ActionScript kodunu girin:

    import fl.controls.DataGrid; 
    import fl.data.DataProvider; 
     
    var aDg:DataGrid = new DataGrid(); 
    addChild(aDg); 
    aDg.columns = [ "Name", "Score" ]; 
    aDg.setSize(140, 100); 
    aDg.move(10, 40);

    Bu kod DataGrid örneğini oluşturur ve sonra ızgarayı boyutlandırıp konumlandırır.

  4. Bir dizi oluşturun, diziye veriler ekleyin ve DataGrid için veri sağlayıcısı olarak diziyi tanımlayın:

    var aDP_array:Array = new Array(); 
    aDP_array.push({Name:"Clark", Score:3135}); 
    aDP_array.push({Name:"Bruce", Score:403}); 
    aDP_array.push({Name:"Peter", Score:25}); 
    aDg.dataProvider = new DataProvider(aDP_array); 
    aDg.rowCount = aDg.length;
  5. Kontrol Et > Filmi Test Et'i seçin.

XML dosyasıyla DataGrid yükleme

Aşağıdaki örnek, DataGrid öğesinin sütunlarını oluşturmak için DataGridColumn sınıfını kullanır. DataProvider() yapıcısının value parametresi olarak XML nesnesini ileterek DataGrid öğesini doldurur.

  1. Metin düzenleyici kullanarak şu veriler ile bir XML dosyası yaratın ve team.xml olarak FLA dosyasını kaydedeceğiniz klasöre kaydedin.

    <team> 
        <player name="Player A" avg="0.293" /> 
        <player name="Player B" avg="0.214" /> 
        <player name="Player C" avg="0.317" /> 
    </team>
  2. Yeni bir Flash (ActionScript 3.0) belgesi oluşturun.

  3. Bileşenler panelinde DataGrid bileşenini çift tıklatarak Sahne Alanı'na ekleyin.

  4. Özellik denetçisinde, aDg örnek adını girin.

  5. Eylemler panelini açın, ana Zaman Çizelgesi'nde Kare 1'i seçin ve şu ActionScript kodunu girin:

    import fl.controls.dataGridClasses.DataGridColumn; 
    import fl.data.DataProvider; 
    import flash.net.*; 
    import flash.events.*; 
     
    var request:URLRequest = new URLRequest("team.xml"); 
    var loader:URLLoader = new URLLoader; 
     
     
    loader.load(request); 
    loader.addEventListener(Event.COMPLETE, loaderCompleteHandler); 
     
    function loaderCompleteHandler(event:Event):void { 
     
        var teamXML:XML = new XML(loader.data); 
     
        var nameCol:DataGridColumn = new DataGridColumn("name"); 
        nameCol.headerText = "Name"; 
        nameCol.width = 120; 
        var avgCol:DataGridColumn = new DataGridColumn("avg"); 
        avgCol.headerText = "Average"; 
        avgCol.width = 60; 
         
        var myDP:DataProvider = new DataProvider(teamXML); 
         
        aDg.columns = [nameCol, avgCol]; 
        aDg.width = 200; 
        aDg.dataProvider = myDP; 
        aDg.rowCount = aDg.length; 
    }
  6. Kontrol Et > Filmi Test Et'i seçin.