Flex: labelFunction inline untuk DataGrid
Terkadang kita ingin menampilkan data di DataGridColumn yang tidak diambil begitu saja dari dataField, namun harus diolah terlebih dahulu, misal kita ingin menggabungkan beberapa dataField dalam satu cell.
Contohnya saya ingin menampilkan data buku alamat dengan field nama,alamat, kota, no_telepon,no_hp, email. Nah data akan saya tampilkan dalam 3 kolom. Kolom pertama menampilkan nama, kolom kedua menampilkan alamat, no_telepon,no_hp, dan kolom ketiga menampilkan email saja. Untuk kolom kedua akan digunakan inline labelFunction, sebagai beikut:
<mx:DataGrid id="myGrid" dataProvider="{bukualamat}"> <mx:columns> <mx:DataGridColumn headerText="Nama" dataField="nama"/> <mx:DataGridColumn headerText="Alamat"> <mx:labelFunction> <![CDATA[ function(item:Object, column:DataGridColumn):String{ var s:String; s = item.alamat + ","+ item.kota + "\n"; s += "Telp:" + item.no_telepon + ", HP:" + item.no_hp; return s; } ]]> </mx:labelFunction> </mx:DataGridColumn> <mx:DataGridColumn headerText="E-Mail" dataField="email"/> </mx:columns> </mx:DataGrid>
Kalau dilihat dari sisi tingkat kesulitan, inline labelFunction maupun non inline sama saja, hanya teknik inline bagi saya akan mempermudah pengelolaan kodenya, terutama pada aplikasi dengan kode sumber yang panjang dan komponen yang banyak.
January 10th, 2010 at 12:29 pm
ini bahasa program apa sih ogut kaga ngerti, kaga ngerti, ajari bikin program komputer di web ya, biar bisa bikin facebook sendiri.
January 20th, 2010 at 11:30 am
Ini bahasa MXML a.k.a Multimedia XML orang biasa mengenalnya sebagai bahasa Flex dari Adobe.