【发布时间】:2015-06-16 08:56:52
【问题描述】:
我正在从数据库中检索数据到 gridview textbox 数据库中有两行但无法获取:
string sr_no;
int rowIndex = 0;
for (int i = 1; i <= dt1.Rows.Count; i++)
{
//extract the TextBox values
TextBox box1 = (TextBox)Gridview1.Rows[rowIndex].Cells[1].FindControl("TextBox1");
TextBox box2 = (TextBox)Gridview1.Rows[rowIndex].Cells[2].FindControl("TextBox2");
TextBox box3 = (TextBox)Gridview1.Rows[rowIndex].Cells[3].FindControl("TextBox3");
TextBox box4 = (TextBox)Gridview1.Rows[rowIndex].Cells[4].FindControl("TextBox4");
TextBox box5 = (TextBox)Gridview1.Rows[rowIndex].Cells[5].FindControl("TextBox5");
TextBox box6 = (TextBox)Gridview1.Rows[rowIndex].Cells[6].FindControl("TextBox6");
TextBox box7 = (TextBox)Gridview1.Rows[rowIndex].Cells[7].FindControl("TextBox7");
TextBox box8 = (TextBox)Gridview1.Rows[rowIndex].Cells[8].FindControl("TextBox8");
box1.Text = dt1.Rows[i-1]["RD_PS_APPLab_Parameter"].ToString();
sr_no = dt1.Rows[i-1]["RD_SR_No"].ToString();
box2.Text = dt1.Rows[i-1]["Test"].ToString();
box3.Text = dt1.Rows[i-1]["Test_Condition"].ToString();
box4.Text = dt1.Rows[i-1]["Method"].ToString();
box5.Text = dt1.Rows[i-1]["CTQ"].ToString();
box6.Text = dt1.Rows[i-1]["Specification_RD_PS_AppLab"].ToString();
box7.Text = dt1.Rows[i-1]["UOM"].ToString();
box8.Text = dt1.Rows[i-1]["Remarks"].ToString();
rowIndex++;
}
我遇到了错误
错误:索引超出范围。必须是非负数且小于 集合的大小
【问题讨论】:
-
你的行有 9 个单元格吗?你研究了什么来解决你的问题?
-
您的视图是否比行数多 1 行?第0行是什么?到底是什么在网格视图中创建行?
-
是的,每行有 9 个单元格
-
我的其他评论呢?阅读How to Ask
-
如果我猜的话,
Gridview1的行数少于dt1。您需要使用调试器逐步完成此操作,并查看它在何处引发异常并调查原因。没有什么“明显”的错误。