Gridview 的 OnDataBound 事件发生了什么?

What happens in the OnDataBound Event of the Gridview?

我有一个 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 语句触发的操作也始终会触发。我没有看到任何解释这一点的逻辑。我了解到循环遍历事件也会绑定 headers,因此我在条件中检查了这种情况。但是是否还有其他我遗漏的不可见行导致达到 else 条件?我希望我确实表达了我的观点。马丁

你提到你正在检查排除行,如果它是 header 行,但没有提供你的实际条件测试是什么..

至 pre-filter 对于仅数据行,您将应用此条件:

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