简单的在gridview中选中一行的代码

写的不好,但起码能用了.

Server:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            for (int i = -1; i < GridView1.Rows.Count; i++)
            {
                //首先判断是否是数据行
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    e.Row.Attributes.Add("onclick", "kakaclick('" + ((CheckBox)e.Row.Cells[0].Controls[1]).ClientID + "')");//每一行都加个onclick属性
                    e.Row.Attributes["style"] = "cursor:pointer";
                    CheckBox cb = (CheckBox)e.Row.Cells[0].Controls[1];
                    cb.Attributes["onclick"] = "selone('"+ cb.ClientID +"')";
                }
                if (e.Row.RowType == DataControlRowType.Header)
                {
                    CheckBox cb = (CheckBox)e.Row.Cells[0].Controls[1];
                    cb.Attributes["onclick"] = "selall('"
                        + GridView1.ClientID + "','"
                        + ((CheckBox)e.Row.Cells[0].Controls[1]).ClientID+"')";
                }
            }

        }

Client:

<script language="javascript" type="text/javascript">
        function kakaclick(obj) {
            var cb = document.getElementById(obj);
            cb.checked = !cb.checked;
        }

        function selone(obj) {
            document.getElementById(obj).checked = !document.getElementById(obj).checked
        }

        function selall(obj, cballid) {
            var myTable = document.getElementById(obj);
            //alert(myTable.rows.length);
            var cball = document.getElementById(cballid);
            //alert(cball.checked);                        
            for (i = 1; i < myTable.rows.length - 1; i++) {
                //处理ff和ie差异
                var cell = myTable.rows[i].cells[0];
                if (cell.childNodes[0].type != "checkbox") {
                    myTable.rows[i].cells[0].childNodes[1].checked = cball.checked;
                }
                else {
                    myTable.rows[i].cells[0].childNodes[0].checked = cball.checked;
                }
                
            }
        }            
    </script>

posted on 2008-10-12 11:45  daimon  阅读(937)  评论(0)    收藏  举报

导航