怎么样在gridview中单击某行时高亮显示,只能单击另一行高亮处才能转到另一行```````````` 怎么样在gridview中单击某行时高亮显示,只能单击另一行高亮处才能转到另一行```````````` 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 设置它的SelectedRowStyle就可以高亮显示选中行。 设置SelectionMode 属性为 FullRowSelect 我有一种用法是用脚本实现的。移动到一行上显示一种颜色,移开则还原,单击一行后显示另一种颜色,双击则打开另一个页面。在这个过程中还可以执行相关的脚本,自己根据需要灵活处理即可。首先是脚本中添加如下代码: var SelectedItem=null; function SelectRow(row) { if(SelectedItem!=null) { SelectedItem.style.backgroundColor="#FFFFFF"; SelectedItem.style.color="#000000"; } row.style.backgroundColor='#5A7EBF'; row.style.color="#ffffff"; SelectedItem=row; } var SelectID=null; function SaveID(Value) { SelectID=value; } function ShowNewPage() { window.open("mypage.aspx?id=" + SelectID);//此处根据需要打开不同的页面 }然后在C#代码中对GridView控件的RowDataBoudn事件添加如下代码 protected void myGridView_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow)//只有数据行需要设置 { e.Row.Attributes["style"] = "Cursor:hand";//设置鼠标样式 //当鼠标停留时更改背景色 e.Row.Attributes.Add("onmouseover", "if(this!=SelectedItem){this.style.backgroundColor='#EFEFEF'}"); //当鼠标移开时还原背景色 e.Row.Attributes.Add("onmouseout", "if(this!=SelectedItem){this.style.backgroundColor='#FFFFFF'}"); //将ID绑定到模板列的Label控件lblID中,设置lblID的style="display:none;"将其隐藏起来 //对于其他可能用脚本取值但不想让用户看到的控件也可以这样设置 Label lblID = (Label)e.Row.FindControl("lblID"); string strID = lblID.Text; //如果打开新页面需要多个参数,则修改脚本中的SaveID,这里也要相应修改 e.Row.Attributes.Add("onclick", string.Format("SelectRow(this);SaveID('{0}');", strID)); //也可以把Select按钮用设置style的方法隐藏起来,在双击行时用脚本执行按钮的click方法,如此稍加变通用法就很多了 e.Row.Attributes.Add("ondblclick", "ShowNewPage();"); } } 关于DataGridView的问题! asp.net2.0 gridview中放一列textbox,可以往里面输入东西,然后读出输入的内容,怎么实现呢???? C#读取txt文件并分裂成子文件 求一个算法 100分请教牛人:如何控制类属性的顺序 文件间数据接收问题,在线等。 关于xml的问题,高手帮助一下那。 C# 使用 DTS 在sqlserver之间导数据问题 用C#+FtpClient+winform实现ftp上传(200分了)谢谢 [求助]dat文件数据库是怎么回事? 学过C++,现在看C#,想看"值类型"与"引用类型"的区别,怎么会有错误... 鼠标框区线条被覆盖问题
首先是脚本中添加如下代码: var SelectedItem=null;
function SelectRow(row)
{
if(SelectedItem!=null)
{
SelectedItem.style.backgroundColor="#FFFFFF";
SelectedItem.style.color="#000000";
}
row.style.backgroundColor='#5A7EBF';
row.style.color="#ffffff";
SelectedItem=row;
}
var SelectID=null;
function SaveID(Value)
{
SelectID=value;
}
function ShowNewPage()
{
window.open("mypage.aspx?id=" + SelectID);//此处根据需要打开不同的页面
}然后在C#代码中对GridView控件的RowDataBoudn事件添加如下代码 protected void myGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)//只有数据行需要设置
{
e.Row.Attributes["style"] = "Cursor:hand";//设置鼠标样式
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "if(this!=SelectedItem){this.style.backgroundColor='#EFEFEF'}");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "if(this!=SelectedItem){this.style.backgroundColor='#FFFFFF'}"); //将ID绑定到模板列的Label控件lblID中,设置lblID的style="display:none;"将其隐藏起来
//对于其他可能用脚本取值但不想让用户看到的控件也可以这样设置
Label lblID = (Label)e.Row.FindControl("lblID");
string strID = lblID.Text;
//如果打开新页面需要多个参数,则修改脚本中的SaveID,这里也要相应修改
e.Row.Attributes.Add("onclick", string.Format("SelectRow(this);SaveID('{0}');", strID));
//也可以把Select按钮用设置style的方法隐藏起来,在双击行时用脚本执行按钮的click方法,如此稍加变通用法就很多了
e.Row.Attributes.Add("ondblclick", "ShowNewPage();");
}
}