我使用此代码在gridview中获取last row
的索引,然后在特定单元格中放入空字符串,但抛出错误:Index out of range
protected void grdViewAdvances_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
int RowIndex = grdViewAdvances.Rows.Count-1 ;
grdViewAdvances.Rows[RowIndex].Cells[5].Text = "";
}
答案 0 :(得分:1)
每行RowDataBound事件的行数都会发生变化。如果要更改最后一行的文本列,则让绑定进程完成并在RowDataBound之后分配空字符串。
您可能需要在DataBind()
方法之后执行。
grdViewAdvances.DataSource = dt;
grdViewAdvances.DataBind();
grdViewAdvances.Rows[RowIndex].Cells[5].Text = "";
修改强>
我刚刚调试了代码,当第一次在if语句下执行代码时,Row Count为零并从中减去一行将得到row = -1,这肯定是超出绑定索引。