【问题标题】:What happens in the OnDataBound Event of the Gridview?Gridview 的 OnDataBound 事件发生了什么?
【发布时间】:2015-12-13 00:41:40
【问题描述】:

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

【问题讨论】:

    标签: c# asp.net gridview databound


    【解决方案1】:

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

    要仅对数据行进行预过滤,您可以应用以下条件:

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

    【讨论】:

    • 酷。做到了!我什至不知道有不同的行类型。现在它是有道理的。马丁
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 2012-10-04
    • 2021-12-23
    • 1970-01-01
    相关资源
    最近更新 更多