2012-04-09 26 views
-2

我是新来的编程,在asp.net工作。
我做了一个表迭代,这里是我的代码:如何从C#中的表迭代中获取值

 int row2 = Convert.ToInt32(Request.QueryString["coll"]); 
     Session.Add("sumColl", row2); 
     TableRow tr2; 
     TableCell tc2; 
     TextBox tb2; 
     RequiredFieldValidator rfv; 

     for (int j = 0; j < row2; j++) 
     { 
      tr2 = new TableRow(); 
      tc2 = new TableCell(); 
      tc2.Controls.Add(new LiteralControl((j + 1).ToString())); 
      tr2.Cells.Add(tc2); 
      tc2 = new TableCell(); 
      tb2 = new TextBox(); 
      tb2.ID = "name" + (j + 1).ToString(); 
      btn = new Button(); 
      btn.ID = "search" + (j + 1).ToString(); 
      btn.Text = "Search"; 
      btn.OnClientClick = "javascript:openChild('popupA.aspx?dest=" + tb2.ID + "','win2')"; 
      btn.CausesValidation = false; 
      rfv = new RequiredFieldValidator(); 
      rfv.ID = "rfvR" + (j + 1).ToString(); 
      rfv.ControlToValidate = tb2.ID; 
      rfv.Display = ValidatorDisplay.Dynamic; 
      rfv.ErrorMessage = "**"; 
      tc2.Controls.Add(tb2); 
      tc2.Controls.Add(btn); 
      tc2.Controls.Add(rfv); 
      tr2.Cells.Add(tc2); 
      tblA.Rows.Add(tr2); 
     }  

我想从数据库中,其中输入来自文本框上表中获取值。
当我得到我想要总结他们的值。
问题是我不知道如何从上面的迭代获取输入。
我做了类似下面的代码。

 int sumsColl = Convert.ToInt32(Session["sumColl"]); 
     double sum_coll = 0; 

     for (int j = 0; j < sumsColl; j++) 
     { 
      TextBox tb2 = new TextBox(); 
      tb2 = this.Page.FindControl("name" + (j + 1).ToString()) as TextBox; 
      if (tb2 != null) 
      {      
       string sqlCol2 = "select p from somewhere where nameColl = '" + tb2.Text + "'"; 
       DataTable dtcol2 = db.setDataTableSQL(sqlCol2); 
       for (int i = 0; i < j; i++) 
       { 
        Session.Add("P" + (j + 1).ToString(), dtcol2.Rows[0]["p"]); 
       } 

       sum_coll = sum_coll + Convert.ToDouble(Session["P"+(j + 1).ToString()]); 
      } 

     } 

     if (sum_coll < value) 
     { 
      Msg.Text = "Error . " + Msg.Text; 
      valid = false; 
     } 

我知道这是一团糟,请帮助我,让我知道你是否需要另一个线索。

+1

哇。好吧,我认为你最好的选择是可能会问几个更有针对性的问题(不是一次全部)。尝试做一个小块,看看是否有效,如果你卡住了,问问题。 也可以帮助解决这个问题的东西是添加一些关于你想要做什么的文本。你在开始的时候给了一大块代码,但是人们通常不想去代码中找出它应该做什么。通常先告诉他们你想要做什么通常会更好,然后他们可以开始阅读代码。 – Beska 2012-04-09 12:36:20

回答

0

我不知道你在做什么。试试DataGrid或DataGridView,ListView控件来显示数据。你的代码看起来很复杂。那里有特别显示表格数据的控件。

相关问题