romegames 1
romegames
Bvural41 1
Bvural41
Best Studio 1
Best Studio
BlackFullMoon 1
BlackFullMoon
NovaLst 1
NovaLst
SLyFeLLowTR 1
SLyFeLLowTR
xranzei 1
xranzei
InfernoShade 1
InfernoShade
shrpnl 1
shrpnl
D 1
delimuratt
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

AngularJS Sıralama Filitresi

DumanInc

Web Development
Telefon Numarası Onaylanmış Üye
Fahri Üye
TM Üye
Katılım
19 Nis 2009
Konular
423
Mesajlar
1,880
Çözüm
14
Online süresi
3mo 2h
Reaksiyon Skoru
968
Altın Konu
38
TM Yaşı
17 Yıl 1 Ay 24 Gün
Başarım Puanı
267
MmoLira
3,804
DevLira
9
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Angualarda Sıralama Yapmak İçin;
1. orderBy filter kullanılır
{{ sıralanacak_ifade | orderBy : ifade : ters}}
Örnek: ng-repeat=”personel in personeller | orderBy:’maas’:false”
2. Artan şekilde sıralama yapmak için ters ifadesini false yapın
3. Azalan şekilde sıralama yapmak içinse ters ifadesini true yapın
4. Ayrıca artan yada azalan sıralama için + yada – işaretini kullanabilirsiniz.
Örnek : ng-repeat=”personel in personeller | orderBy:’+maas'”


Hadi bunlar bir örnekle uygulayalım;

angularjs-sort


Select menü sıralama yapılacak sutunları ve sıralama yapılacak yönü göstermektedir. Select seçilen ifadeyi değiştirip tablonun sıralama şeklini değiştirecektir.

SCRIPT: Controller fonksiyonu ile model oluşturulacaktır. Ayrıca $scope anahtarına sutunSirala özelliği nesne olarak eklenecektir. sutunSirala özelliği angular yüklendiğinde sütunları otomatik alarak isme göre sıralayacaktır. Sayfa yüklendiğinde isme göre sıralama yapıldığına dikkat edin.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

var app = angular
.module("persModul", [])
.controller("persController", function ($scope) {

var personeller=[
{ "isim": "Yezdan","soyisim": "Erdurak","cinsiyet": "Erkek","maas": "3569" },
{ "isim": "Elfiye","soyisim": "Şencin","cinsiyet": "Erkek","maas": "4143" },
{ "isim": "Ezfer","soyisim": "Ovacık","cinsiyet": "Erkek","maas": "2705" },
{ "isim": "Teberhun","soyisim": "Karadağ sazak","cinsiyet": "Kız","maas": "2337" },
{ "isim": "Çağar","soyisim": "Alkan","cinsiyet": "Kız","maas": "1883" },
{ "isim": "Mükafi","soyisim": "Düşer","cinsiyet": "Kız","maas": "3869" },
{ "isim": "Süreha","soyisim": "Karakaya","cinsiyet": "Erkek","maas": "1796" },
{ "isim": "Taberi","soyisim": "Abacılı","cinsiyet": "Kız","maas": "4054" },
{ "isim": "Bala","soyisim": "Merkan","cinsiyet": "Erkek","maas": "2703" },
{ "isim": "Nil","soyisim": "Aksaç","cinsiyet": "Erkek","maas": "3510" },
{ "isim": "Ulualp","soyisim": "Seziş","cinsiyet": "Erkek","maas": "2688" },
{ "isim": "Çağlar","soyisim": "Selçuk atay","cinsiyet": "Erkek","maas": "3524" },
{ "isim": "Berkem","soyisim": "Erdoğan","cinsiyet": "Kız","maas": "2290" },
{ "isim": "Özgünel","soyisim": "Demirtaş","cinsiyet": "Erkek","maas": "3193" },
{ "isim": "Mübelliğ","soyisim": "Ölçer","cinsiyet": "Kız","maas": "3603" },
{ "isim": "Tuyuğ","soyisim": "Aral kaplan","cinsiyet": "Erkek","maas": "2270" },
{ "isim": "Zafir","soyisim": "Dingiz","cinsiyet": "Erkek","maas": "1880" },
{ "isim": "Gülnar","soyisim": "Dinç","cinsiyet": "Kız","maas": "1897" },
{ "isim": "Badegül","soyisim": "Tekelioğlu","cinsiyet": "Erkek","maas": "3587" },
{ "isim": "Binalp","soyisim": "İsen","cinsiyet": "Kız","maas": "4334" },
{ "isim": "Ganiye","soyisim": "Ekmekyapar","cinsiyet": "Erkek","maas": "2696" },
{ "isim": "Baykutay","soyisim": "Karadeniz","cinsiyet": "Erkek","maas": "3882" },
{ "isim": "Safiye","soyisim": "Muzoğlu","cinsiyet": "Kız","maas": "4015" },
{ "isim": "Atınç","soyisim": "Eroğlu","cinsiyet": "Kız","maas": "3757" },
{ "isim": "Sanaç","soyisim": "Yakıcı","cinsiyet": "Erkek","maas": "4088" }
];

$scope.personeller = personeller;
$scope.sutunSirala="isim";
});


HTML: Select kutusu tablodaki listeyi seçili olduğu değere göre sıralayacak ve ekrana yazdıracaktır.(two way databinding- iki yönlü veri bağlama özelliği ) Select nesnesindeki bazı özelliklerde + / – sembolleri kullanılmıştır. + artan sırada, – ise azalan sırada sıralama yapmamıza imkan vermektedir. Select nesnesindeki değer değiştiği gibi otomatik olarak tabloda option içindeki value değerine göre kendisini güncelleyecektir. Otomatik sıralama yapmak için orderBy filitresini listeyi gösterdiğimizi ifade içine | sembolü ile ekliyoruz.Tablo içindeki orderBy:sutunSirala filtresi Select nesnesindeki ng-modeli almaktadır. Bu kadar açıklama ile kafanızı karıştırdıysam, şimdi kodlar ile bu dağınıklığı toparlayalım. Kodları inceledikten sonra açıklamaya tekrar bir göz atarsınız.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

<body ng-app="persModul">
<div ng-controller="persController">
<div>
SIRALA: <select ng-model="sutunSirala">
<option value="isim">İsme Göre Sıralama</option>
<option value="+cinsiyet">Cinsiyete Göre Sıralama</option>
<option value="+maas">Maasa Göre Artan Sıralama</option>
<option value="-maas">Maasa GÖre Azalan Sıralama</option>
</select>
</div>
<table border=1>
<thead>
<tr>
<th>İSİM</th>
<th>SOYİSİM</th>
<th>MAAŞ</th>
<th>MAAŞ</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="personel in personeller|orderBy:sutunSirala">
<td> {{ personel.isim | uppercase }} </td>
<td> {{ personel.soyisim }} </td>
<td> {{ personel.maas |currency : '₺' :2 }} </td>
<td> {{ personel.maas |number :2 }} </td>
</tr>
</tbody>
</table>
</div>
</body>


HTML & KOD: AngularJS Sıralama( AngularJS sorting) işlemi için yazdığımız kodları toparlayacak olursak. HTML belgemiz aşağıdaki gibi oluşacaktır.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src=" "></script>
<script>

var app = angular
.module("persModul", [])
.controller("persController", function ($scope) {

var personeller=[
{ "isim": "Yezdan","soyisim": "Erdurak","cinsiyet": "Erkek","maas": "3569" },
{ "isim": "Elfiye","soyisim": "Şencin","cinsiyet": "Erkek","maas": "4143" },
{ "isim": "Ezfer","soyisim": "Ovacık","cinsiyet": "Erkek","maas": "2705" },
{ "isim": "Teberhun","soyisim": "Karadağ sazak","cinsiyet": "Kız","maas": "2337" },
{ "isim": "Çağar","soyisim": "Alkan","cinsiyet": "Kız","maas": "1883" },
{ "isim": "Mükafi","soyisim": "Düşer","cinsiyet": "Kız","maas": "3869" },
{ "isim": "Süreha","soyisim": "Karakaya","cinsiyet": "Erkek","maas": "1796" },
{ "isim": "Taberi","soyisim": "Abacılı","cinsiyet": "Kız","maas": "4054" },
{ "isim": "Bala","soyisim": "Merkan","cinsiyet": "Erkek","maas": "2703" },
{ "isim": "Nil","soyisim": "Aksaç","cinsiyet": "Erkek","maas": "3510" },
{ "isim": "Ulualp","soyisim": "Seziş","cinsiyet": "Erkek","maas": "2688" },
{ "isim": "Çağlar","soyisim": "Selçuk atay","cinsiyet": "Erkek","maas": "3524" },
{ "isim": "Berkem","soyisim": "Erdoğan","cinsiyet": "Kız","maas": "2290" },
{ "isim": "Özgünel","soyisim": "Demirtaş","cinsiyet": "Erkek","maas": "3193" },
{ "isim": "Mübelliğ","soyisim": "Ölçer","cinsiyet": "Kız","maas": "3603" },
{ "isim": "Tuyuğ","soyisim": "Aral kaplan","cinsiyet": "Erkek","maas": "2270" },
{ "isim": "Zafir","soyisim": "Dingiz","cinsiyet": "Erkek","maas": "1880" },
{ "isim": "Gülnar","soyisim": "Dinç","cinsiyet": "Kız","maas": "1897" },
{ "isim": "Badegül","soyisim": "Tekelioğlu","cinsiyet": "Erkek","maas": "3587" },
{ "isim": "Binalp","soyisim": "İsen","cinsiyet": "Kız","maas": "4334" },
{ "isim": "Ganiye","soyisim": "Ekmekyapar","cinsiyet": "Erkek","maas": "2696" },
{ "isim": "Baykutay","soyisim": "Karadeniz","cinsiyet": "Erkek","maas": "3882" },
{ "isim": "Safiye","soyisim": "Muzoğlu","cinsiyet": "Kız","maas": "4015" },
{ "isim": "Atınç","soyisim": "Eroğlu","cinsiyet": "Kız","maas": "3757" },
{ "isim": "Sanaç","soyisim": "Yakıcı","cinsiyet": "Erkek","maas": "4088" }
];

$scope.personeller = personeller;
$scope.sutunSirala="isim";
});


</script>
</head>
<body ng-app="persModul">
<div ng-controller="persController">
<div>
SIRALA: <select ng-model="sutunSirala">
<option value="isim">İsme Göre Sıralama</option>
<option value="+cinsiyet">Cinsiyete Göre Sıralama</option>
<option value="+maas">Maasa Göre Artan Sıralama</option>
<option value="-maas">Maasa GÖre Azalan Sıralama</option>
</select>
</div>
<table border=1>
<thead>
<tr>
<th>İSİM</th>
<th>SOYİSİM</th>
<th>MAAŞ</th>
<th>MAAŞ</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="personel in personeller|orderBy:sutunSirala">
<td> {{ personel.isim | uppercase }} </td>
<td> {{ personel.soyisim }} </td>
<td> {{ personel.maas |currency : '₺' :2 }} </td>
<td> {{ personel.maas |number :2 }} </td>
</tr>
</tbody>
</table>
</div>
</body>

</html>
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst