我想检查上一行数据是否等于--
,
如果它不等于--
那么我会在下一行启用按钮
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (DataBinder.Eval(e.Row.DataItem, "time_start").ToString() == "--")
{
Button btn = ((Button)e.Row.FindControl("Edit_Button"));
btn.Enabled = false;
}
}
}
答案 0 :(得分:1)
你也可以使用GridView1.Rows[e.Row.RowIndex - 1]
。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
GridViewRow prevrow = GridView1.Rows[e.Row.RowIndex - 1];
if( prevrow.RowType == DataControlRowType.DataRow)
{
// Your code for manipulating prevrow
}
if (DataBinder.Eval(e.Row.DataItem, "time_start").ToString() == "--")
{
Button btn = ((Button)e.Row.FindControl("Edit_Button"));
btn.Enabled = false;
}
}
}
答案 1 :(得分:0)
一种方法是:
在班级中创建previousRow
类型的字段GridViewRow
。
在GridView.DataBinding
事件处理程序中将此字段初始化为null。在任何RowDataBound事件触发之前,数据绑定开始时会触发此事件。
在GridView.RowDataBound
事件处理程序中,进行处理(包括与previousRow
进行比较),然后设置previousRow = e.Row
。