2012-04-09 3 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

답변

0

나는 당신이 무엇을하려고하는지 모른다. DataGrid 또는 DataGridView, ListView 컨트롤을 사용하여 데이터를 표시합니다. 코드가 매우 복잡해 보입니다. 특별히 표 형식의 데이터를 표시하는 컨트롤이 있습니다.