Shift Select Check box inside the gridview

19/07/2012 09:30

<div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField DataField="ID" HeaderText="Id" />
                <asp:BoundField DataField="Name" HeaderText="Name" />
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox1" onclick="CheckAllCheckbox(document.getElementById('GridView1'),this,this.event);"
                            runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </div>
    <script type="text/javascript">
        var lst = null;
        function CheckAllCheckbox(ctrl, sValue, e) {
            var chkName = sValue.id;
            var arlstr = sValue.id.split(ctrl.id);
           
            var id = arlstr[1].split('_')[1].substring(3);

            var ee = (window.event) ? event : e;
            if (ee.shiftKey) {
                if (lst != null) {
                    var First = 0, last = 0;
                    if (parseInt(lst) > parseInt(id)) {
                        First = parseInt(id);
                        last = parseInt(lst);
                        
                    }
                    else {
                        First = parseInt(lst);
                        last = parseInt(id);
                        
                    }

                    for (i = First; i <= last; i++) {
                        var p = (i < 9 ? '0' + i : i);
                        
                        var ctrlnew = chkName.replace('ctl' + id, 'ctl' + p);
                        document.getElementById(ctrlnew).checked = sValue.checked;
                    }
                    //alert(lst);
                }
            }
            lst = id;
        }
    </script>