1

我想检查上一行数据是否等于--,如果不等于,--我将启用下一行中的按钮

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;
       }   
    }
}
4

2 回答 2

3

您也可以使用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;
        }
    }
}
于 2014-10-17T06:29:41.993 回答
0

一种方法是:

  • previousRow在您的类中创建一个类型为 的字段GridViewRow

  • GridView.DataBinding在事件处理程序中将此字段初始化为 null 。此事件在数据绑定开始时触发,在任何 RowDataBound 事件触发之前。

  • 在您的GridView.RowDataBound事件处理程序中,进行处理(包括与 比较previousRow),然后设置previousRow = e.Row.

于 2014-10-17T05:42:58.353 回答