Php ve Javascript ile Grid Kontrolleri kullanarak Spreadsheet oluşturma

Finansal ve istatistiki verileri spreadsheet kullanarak göstermek her ortamda hayatımızı oldukça kolaylaştıran bir yaklaşım. Bilgisayarımızda bunu excel gibi programları kullanarak yapabiliyoruz fakat web’de sadece HTML kullanarak bunu başarmak çok mümkün değil.
Tablonun tamamını görmek için scrollbarlar, verileri değerlerine göre sıralamak gibi verileri etkin içeleme için gerekli unsurlar için spreadsheet kullanımı şart.
Şimdi biz bu işlemi web ortamında yapabilmek için Php ve JavaScript kullanacağız ama öncesinde ActiveWidgets adı verilen bir grid control widget’ını indirmenizi önereceğim. Kütüphanenin içinde kullanışlı çok fazla kod var bunları examaples folderından inceleyebilirsiniz.
ActiveWidgets’ı indirdikten sonra dosyayı web alanınıza yükleyin sonrada aşağıdaki kodu da o alanda ActiveWidgets’i tuttuğunuz dosyanın içine kaydedin. ActiveWidgets GPL Lisansı altında korunmaktadır. Eğer ticari bir ürün için widget’ı kullanacaksanız geliştiricilere ödeme yapmanız gerekiyor.
İşte bizim bu tool’u kullanarak yazmış olduğumuz basit bir örnek; Tabi siz widget’la gelen sample’ları inceleyerek farklı geliştirmeler yapabilirsiniz.
<?php
$states = array(
array(“Istanbul”, 34, 10000000),
array(“Ankara”, 06, 2000000),
array(“Izmir”, 35, 1000000)
);
?>
<html>
<head>
<link href=”runtime/styles/xp/aw.css” rel=”stylesheet” type=”text/css”></link>
<script src=”runtime/lib/aw.js”></script>
</head>
<body>
<div style=”width: 500px; height: 300px;”>
<script>
var data = [
<?php
$first = true;
foreach($states AS $state){
if(!$first)
echo(",");
?>
["<?php echo($state[0]); ?>”, <?php echo($state[1]); ?>, <?php echo($state[2]); ?>]
<?php $first = false;
}?>
];
var columns = ["Sehir", "Trafik Kodu", "Populasyon"];
var grid = new AW.UI.Grid;
grid.setRowCount(data.length);
grid.setColumnCount(columns.length);
grid.setCellText(data);
grid.setHeaderText(columns);
document.write(grid);
</script>
</div>
</body>
</html>
Facebook
Twitter
FriendFeed
Digg
MySpace
Google Buzz
StumbleUpon
del.icio.us
Technorati
LinkedIn
Live
Reddit


