简单的在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>
浙公网安备 33010602011771号