Geçenlerde ararken karşıma çıkan Hotmail, Yahoo vb. gibi yerlerde Maillerinizi okurken başlıkta çoklu seçim checkbox'unu görmüşsünüzdür. Yani en üstteki checkbox'a tıkladığınızda bütün maillerinizin seçildiğini görürsünüz. Bu işlemi Asp.net de yapmak çok da zor değil. Sadece birazcık Javascript koduna ihtiyacınız var o kadar. Neyse lafı fazla uzatmayalım. Yapmamız gereken ilk şey projemize bir adet DataGridView eklemek. Daha sonra DataGridView 'in EditColumns'undan bir adet TemplateField ekliyoruz. Şimdi ise sayfamıza Javascript kodunu ekleyelim. Bunun için aşağıdaki kodu Sayfanızın uygun bir yerine yerleştirin.

<script type="text/javascript" language="javascript">
function HepsiniSec(spanChk){
var oItem = spanChk.children;
var theBox= (spanChk.type=="checkbox") ?
spanChk : spanChk.children.item[0];
xState=theBox.checked;
elm=theBox.form.elements;
for(i=0;i<elm.length;i++)
if(elm[i].type=="checkbox" &&
elm[i].id!=theBox.id)
{
if(elm[i].checked!=xState)
elm[i].click();
}
}
function SecimKontrol(cb)
{
if(!cb.checked)
{
var cbAll = document.getElementById('chkAll');
cbAll.checked = 0;
}
}
</script>

Daha sonra DataGridView'imize tıklayalım ve Source bölümüne geçiş yapalım. Burada Oluşturduğunuz templateField in HeaderTemplate ve ItemTemplate bölümüne ihtiyaç duyacağız. Bunun için <asp:TemplateField></asp:TemplateField> tagları arasına girelim ve aşağıdaki kodu yapıştıralım.

<HeaderTemplate>
<
input id="chkAll" onclick="javascript:HepsiniSec(this);" type="checkbox" />
</HeaderTemplate>
<ItemTemplate>
<
asp:CheckBox ID="chkSelect" onclick="javascript:SecimKontrol(this);" runat="server" />
</ItemTemplate>

Hepsi bu kadar. Yapmanız gereken projenizi çalıştırıp sonucu görmek.

Aşağıda örnek resimleri görebilirsiniz. Anlatacaklarım bu kadar.

Seçilmiş Hali Birkaçının seçilmiş hali

Kolay Gelsin.

Selametle...

RSS 2.0
Sor Bakalım...
Arama
  Ara
Paylaş
| Diğer
Destek