2016-03-31 8 views
0

Böylece, metin alanlarını bir kılavuz alanında bir çerçeve alanında bulundururum. Sayfa yüklemesinde 6 sabit metin kutusu istiyorum. Ben bunu anladım. Tüm 6 metin kutusu doluysa, bir açılır menü değeri seçildiğinde yeni bir satır eklemek istiyorum. Açılan değer daha sonra yeni satırı göründüğü şekilde doldurur. Bunu nasıl yapardım? Temel kurulumu biliyorum ama sadece tüm metin kutularının doldurulup doldurulmadığını kontrol eden bir kod parçasına ihtiyacım var.Tüm GridView Metin Kutularının vb.Net kullanılarak doldurulup doldurulmadığını denetleme

For Each row As GridViewRow In gvReq.Rows 

    Dim Index As Integer = row.RowIndex 
    Dim ReqText As TextBox = CType(gvReq.Rows(Index).FindControl("txtReqText"), TextBox) 
    Dim chkReq As CheckBox = CType(gvReq.Rows(Index).FindControl("chkReq"), CheckBox) 
    If ReqText.Text = "" Then 
     ReqText.Text = reader("RequireExceptText").ToString 
     chkReq.Checked = True 
     If Regex.IsMatch(ReqText.Text, "_") Then 
      Dim message As String = "The selected Requirement contains some blanks to fill." 
      Dim sb As New System.Text.StringBuilder() 
      sb.Append("<script type = 'text/javascript'>") 
      sb.Append("window.onload=function(){") 
      sb.Append("alert('") 
      sb.Append(message) 
      sb.Append("')};") 
      sb.Append("</script>") 
      ClientScript.RegisterClientScriptBlock(Me.GetType(), "alert", sb.ToString()) 
      ReqText.Focus() 
     End If 
     Exit For 

    Else 
     Dim dtCurrentTable As DataTable = DirectCast(ViewState("CurrentTable"), DataTable) 
     For Each row2 As GridViewRow In gvReq.Rows 
      If dtCurrentTable.Rows.Count >= 6 Then 
       If ReqText.Text <> "" Then 
        AddNewRow() 
       End If 
      End If 
      Exit For 
     Next 

    End If 

Next 
+1

Fark ettiğim ilk şey, her şey için ilkinizin ilk metin kutusunda ne çıkacak olursa olsun çıkacağıdır. İkinci olarak, ikinci döngüdeki satırın metin kutusunu işaretlemediğinizden, metin kutusunun boş olup olmadığını görmek için onay her zaman doğru olacaktır. Hala bir sorun yaşıyorsanız, bunları düzeltmek için AddNewRow() çağrısının kodunu gönderin. – MaCron

cevap

0

Bunun için bir yol buldum. Harika çalışıyor!

Dim LastReqText As TextBox = DirectCast(gvReq.Rows(gvReq.Rows.Count - 1).FindControl("txtReqText"), TextBox) 
     If LastReqText.Text <> "" Then 
      AddNewRow() 

     End If 

     For i As Integer = 0 To gvReq.Rows.Count - 1 

      Dim ReqText As TextBox = DirectCast(gvReq.Rows(i).FindControl("txtReqText"), TextBox) 
      Dim chkReq As CheckBox = CType(gvReq.Rows(i).FindControl("chkReq"), CheckBox) 

      If ReqText.Text = "" Then 
       ReqText.Text = reader("RequireExceptText").ToString 
       chkReq.Checked = True 
       If Regex.IsMatch(ReqText.Text, "_") Then 
        Dim message As String = "The selected Requirement contains some blanks to fill." 
        Dim sb As New System.Text.StringBuilder() 
        sb.Append("<script type = 'text/javascript'>") 
        sb.Append("window.onload=function(){") 
        sb.Append("alert('") 
        sb.Append(message) 
        sb.Append("')};") 
        sb.Append("</script>") 
        ClientScript.RegisterClientScriptBlock(Me.GetType(), "alert", sb.ToString()) 
        ReqText.Focus() 
       End If 
       Exit For 

      End If 

     Next