2015-06-16 25 views
-3

我从数据库中gridviewtextbox检索数据的大小在数据库中的两个行,但不能取,错误:索引超出范围。必须为非负且小于集合的

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++; 
      } 

我收到错误

Error: Index was out of range. Must be non-negative and less than the size of the collection

+0

你的排是否有9格?你研究了什么来解决你的问题? – Sayse

+0

您的视图是否比行数多一行?第0行是什么?什么是在网格视图中创建行? –

+0

是每行都有9个单元 – Sadhana

回答

0

有拖概率有

1)网格剂量不会有8个细胞

2)您for loop

for (int i = 1; i <= dt1.Rows.Count; i++) 
      { 
//... 
} 

不正确 而不是尝试这种

for (int i = 1; i < dt1.Rows.Count; i++) 
      { 
/.. 
} 

注意,你应该如果你的bussniss逻辑

所以你的for循环将会从0开始的循环是这样的

for (int i = 0; i < dt1.Rows.Count; i++) 
       { 
    /.. 
    } 
+0

为什么会从一个开始? –

+0

我认为这是从他的逻辑:) –

+0

@daveL - 操作参考'dt1.Rows [i-1]' – Sayse

相关问题