2 回答
TA贡献1833条经验 获得超4个赞
一切正常,感谢您对@wazz的帮助
TextBox标记=(TextBox)e.Row.FindControl(“ MarkTextBox”);
for (int i = 0; i < gradeAlways.Rows.Count +1; i++)
{
SqlDataAdapter da = new SqlDataAdapter(command);
DataTable dt = new DataTable();
da.Fill(dt);
var Mark = dt.Rows[i]["Mark"];
marks.Text = Mark.ToString();
}
我不得不把gradeAlways.Rows.Count +1
TA贡献1801条经验 获得超8个赞
如果这是RowDataBound事件,则代码针对每一行运行。
因此,对于第一个gridview行,您将循环整个表并将textbox值设置为当前表行。也就是说,表格中的最后一个值将始终是每个gridview行的值。
因此,在RowDataBound事件中,您需要
得到当前的行数(假设是3);
从第3行的表格中获取值并设置文本框;
在下一个RowDataBound(它们全部一次运行)上,您的代码将获得第4行,并将文本框设置为表的第4行中的值。
- 2 回答
- 0 关注
- 285 浏览
添加回答
举报