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)
我有一个 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)