Asp.net Gridview:保留SelectedRow的样式
我通过样式表更改行“普通”、“备用”和“选定”的样式。此外,我还使用gv_Alternativen_RowDataBound实现了onmouseover、onmouseout和class 但是,当我在所选行中进行鼠标悬停时,错误的onmouseout被放置在那里:Asp.net Gridview:保留SelectedRow的样式,asp.net,gridview,Asp.net,Gridview,我通过样式表更改行“普通”、“备用”和“选定”的样式。此外,我还使用gv_Alternativen_RowDataBound实现了onmouseover、onmouseout和class 但是,当我在所选行中进行鼠标悬停时,错误的onmouseout被放置在那里: Protected Sub gv_Alternativen_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewR
Protected Sub gv_Alternativen_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv_Alternativen.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Select Case e.Row.RowState
Case Is <> DataControlRowState.Selected
'odd even
If e.Row.RowState = DataControlRowState.Normal And e.Row.RowState <> DataControlRowState.Selected Then
e.Row.Attributes.Clear()
e.Row.Attributes.Add("onmouseout", "this.className='PopupAngeboteRow'")
e.Row.Attributes.Add("onmouseover", "this.className='PopupAngeboteRowHover'")
e.Row.Attributes.Add("class", "PopupAngeboteRow")
ElseIf e.Row.RowState = DataControlRowState.Alternate And e.Row.RowState <> DataControlRowState.Selected Then
e.Row.Attributes.Clear()
e.Row.Attributes.Add("onmouseout", "this.className='PopupAngeboteAlternatingRow'")
e.Row.Attributes.Add("onmouseover", "this.className='PopupAngeboteRowHover'")
e.Row.Attributes.Add("class", "PopupAngeboteAlternatingRow")
End If
Case Is = DataControlRowState.Selected
e.Row.Attributes.Clear()
e.Row.Attributes.Add("onmouseover", "this.className='PopupAngeboteRowSelected'")
e.Row.Attributes.Add("onmouseout", "this.className='PopupAngeboteRowSelected'")
e.Row.Attributes.Add("class", "PopupAngeboteRowSelected")
End Select
End If
End Sub
Protected Sub gv_Alternativen_RowDataBound(ByVal sender作为对象,ByVal e作为System.Web.UI.WebControls.GridViewRowEventArgs)处理gv_Alternativen.RowDataBound
如果e.Row.RowType=DataControlRowType.DataRow,则
选择Case e.Row.RowState
大小写为DataControlRowState。已选定
“奇偶
如果选择了e.Row.RowState=DataControlRowState.Normal和e.Row.RowState DataControlRowState
e、 Row.Attributes.Clear()
e、 添加(“onmouseout”,“this.className='PopupAngeboteRow'”)
e、 Row.Attributes.Add(“onmouseover”,“this.className='popupangeboterowhere'”)
e、 添加(“类”,“PopuPangeBoterRow”)
ElseIf e.Row.RowState=DataControlRowState.Alternate和e.Row.RowState DataControlRowState。然后选择
e、 Row.Attributes.Clear()
e、 添加(“onmouseout”,“this.className='PopupAngeboteAlternatingRow'”)
e、 Row.Attributes.Add(“onmouseover”,“this.className='popupangeboterowhere'”)
e、 添加(“类”,“PopupAngeboteAlternatingRow”)
如果结束
案例为=DataControlRowState。已选定
e、 Row.Attributes.Clear()
e、 添加(“onmouseover”,“this.className='PopuPangeBoterRowselected'”)
e、 添加(“onmouseout”,“this.className='PopuPangeBoterRowselected'”)
e、 添加(“类”,“PopuPangeBoterRowselected”)
结束选择
如果结束
端接头
有什么想法吗
thx提前很多时间,问候…你能解释一下为什么这样做而不是仅仅给出答案吗。
protected void gvHolds_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if ((e.Row.RowIndex % 2) == 0)
{
if (e.Row.RowIndex == gvHolds.SelectedIndex)
{
e.Row.Attributes["onmouseout"] = "this.className = 'SelectedRow';";
e.Row.Attributes["onmouseover"] = "this.className = 'MouseOverRow';";
}
else
{
e.Row.Attributes["onmouseout"] = "this.className = 'oddRow';";
e.Row.Attributes["onmouseover"] = "this.className = 'MouseOverRow';";
}
}
else
{
if (e.Row.RowIndex == gvHolds.SelectedIndex)
{
e.Row.Attributes["onmouseout"] = "this.className = 'SelectedRow';";
e.Row.Attributes["onmouseover"] = "this.className = 'MouseOverRow';";
}
else
{
e.Row.Attributes["onmouseout"] = "this.className = 'evenRow';";
e.Row.Attributes["onmouseover"] = "this.className = 'MouseOverRow';";
}
}
e.Row.Attributes["onclick"] = ClientScript.GetPostBackEventReference(this.gvHolds, "Select$" + e.Row.RowIndex);
}
}