gridview'da "tümünü seç"

senaryo: gridview'in header kısmına bir link veya bir button koyup, hiç sunucuya gidip gelmeden, client tarafında, datarow'lardaki bütün checkbox'ları "tümünü seçmek" veya "tümünü kaldırmak".



sayfamızın <head></head> kısmına aşağıdaki javascript'i yazıyoruz:

function SelectAllCheckboxes(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();
}
}


ve gridview de şu şekilde olsun:


<asp:GridView ID="GridView1"
runat="server" AutoGenerateColumns="False" >
<Columns>
<ItemTemplate>
<asp:CheckBox ID="chkSec"
runat="server" CausesValidation="false" />
</ItemTemplate>
<HeaderTemplate>
<input id="chkAll" onclick="javascript:SelectAllCheckboxes(this);"
runat="server" type="checkbox" />
</HeaderTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

0 yorum: