asp.net在GridView中如何实现checkbox选中一行及变色? 简单来说就是实现类似于163邮箱的功能。

功能包括:1、选中除checkbox那一列时,跳转到所选行的内容页面;2、选择某行的checkbox时选择整行,且选中行变色。感谢各位!这是截图... 功能包括:
1、选中除checkbox那一列时,跳转到所选行的内容页面;
2、选择某行的checkbox时选择整行,且选中行变色。
感谢各位!
这是截图
展开
 我来答
戴小白liv
2011-10-21
知道答主
回答量:39
采纳率:0%
帮助的人:17.3万
展开全部
1.选中一行变色
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
int i;
for (i = 0; i < GridView1.Rows.Count; i++)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#00A9FF'");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
}
}

}

2.至于选中跳转到相应的页面,直接在GridView里面绑定页面地址就行了
zhubin_wyn
2011-10-22 · TA获得超过175个赞
知道小有建树答主
回答量:216
采纳率:100%
帮助的人:259万
展开全部
给你两种方案:
方案一:后台代码实现
/// <summary>
///
/// 光棒事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void gdvUserInfo_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < gdvUserInfo.Rows.Count; i++)
{
if (gdvUserInfo.Rows[i].RowType == DataControlRowType.DataRow)
{
gdvUserInfo.Rows[i].Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#9cf'");
gdvUserInfo.Rows[i].Attributes.Add("onmouseout", "this.style.backgroundColor=c");
}
}
}
方案二:JS前端脚本实现
//实现光棒效果js
var highlightcolor = '#c1ebff';
var clickcolor = '#51b2f6';
function changeto() {
source = event.srcElement;
if (source.tagName == "TR" || source.tagName == "TABLE")
return;
while (source.tagName != "TD")
source = source.parentElement;
source = source.parentElement;
cs = source.children;
if (cs[1].style.backgroundColor != highlightcolor && source.id != "nc" && cs[1].style.backgroundColor != clickcolor)
for (i = 0; i < cs.length; i++) {
cs[i].style.backgroundColor = highlightcolor;
}
}

function changeback() {
if (event.fromElement.contains(event.toElement) || source.contains(event.toElement) || source.id == "nc")
return
if (event.toElement != source && cs[1].style.backgroundColor != clickcolor)
for (i = 0; i < cs.length; i++) {
cs[i].style.backgroundColor = "";
}
}
调用:在tr中加上 <tr onmouseover="changeto()" onmouseout="changeback()">即可
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刀名阿里噶
2011-10-21 · 超过24用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:20.6万
展开全部
你所说的功能是不是gridview中的“光棒效果”?可以百度一下,看看这方面的内容,可能会对你有帮助的,祝你好运!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bbfd791
2011-10-21 · 超过17用户采纳过TA的回答
知道答主
回答量:166
采纳率:0%
帮助的人:62.8万
展开全部
rowdatabind事件中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式