Gridview的OnDataBound事件中发生了什么

本文关键字:发生了 什么 事件 OnDataBound Gridview | 更新日期: 2023-09-27 18:26:31

我有一个Gridview,在OnDataBound事件期间,我在其中检查一些已确定单元格的数据,以便触发一些操作。

        public void PaintRows_OnRowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.Cells[0].Text == "0")
        {
            //first condition
        }
        else if (e.Row.Cells[0].Text == "1" && e.Row.Cells[12].Text.Length != 6)
        {
            //second condition
        }
        else
        {
            //launch the action 
        }
    }

即使满足了所有条件,else语句触发的操作也始终被触发。我看不出任何逻辑可以解释这一点。我了解到,在行中循环事件也会绑定头,因此我在条件中检查了这种情况。但是,是否还有其他我遗漏的不可见行,导致达到了其他条件?我希望我已经把我的观点说清楚了。Martin

Gridview的OnDataBound事件中发生了什么

您提到,如果行是头行,您将进行检查以排除该行,但尚未提供实际的条件测试。。

要仅预筛选数据行,您需要应用以下条件:

if(e.Row.RowType == DataControlRowType.DataRow)