Microsoft Office OneNote; özellikle iş toplantılarındaki notları saklamak için harika bir uygulama. Toplantı notları dışında uzun zamandır uğraştığım projelerde karşıma çıkan problemleri-çözümleri, ipucu sayılabilecek durumları(tips/tricks diyelim) ve yine yabancı bloglarda gözüme çarpan faydalı olabilecek bazı bilgileri OneNote’da depoluyordum. Bugün baktım yazılacaklar listesi bir hayli birikmiş, o zaman fırsat buldukça bu bilgileri insanlarla paylaşma zamanı gelmiş dedim
Buyurun ilk yazıya; aslında pek ASP.NET’lik bir durum yok ama yine de ASP.NET programcılarının işine yarayacak bir kod parçası. Senaryo şu; CheckBoxList ile listelediğimiz birçok kayıt var ve tek hamlede tüm kayıtlar seçilebilsin ya da seçilenler temizlensin istiyoruz. Basit bir JavaScript fonksiyonu ile bu işi rahatlıkla yapabiliriz. Aşağıda JavaScript fonksiyonunu bulabilirsiniz.
<script language="javascript" type="text/javascript">
function ListeSecim(kontrol, durum) {
var ctl = document.getElementById(kontrol);
var inputs = ctl.getElementsByTagName('input'); //CheckBoxList'teki input elementlerini getir
//CheckBoxList'teki tüm input elementlerinin checked niteliğini
//durum değişkenindeki değere ata(true/false)
for (var i = 0; i < inputs.length; i++)
inputs[i].checked = durum;
}
</script>
Tabi bir de tüm item’ları seçme ve temizleme işini yapacak linklere ihtiyacımız var. Bu linklerden yukarıdaki fonksiyonu çağıracağız. İki link arasındaki tek farklılık ListeSecim fonksiyonuna gönderilecek ikinci parametrenin değeri olacaktır.
<a href="javascript:ListeSecim('CheckBoxList1', true)">Hepsini Seç</a>
<a href="javascript:ListeSecim('CheckBoxList1', false)">Hepsini Temizle</a>