需要在编辑选择上将文本框添加到gridview单元格

时间:2011-09-23 13:37:58

标签: vb.net gridview

我真的可以在这方面使用一些帮助。我一直在网上寻找解决方案,但一直没有找到太多帮助。

我需要根据其中一个单元格中的文本行数将文本框添加到gridview编辑单元格。我已经编码了我需要添加的文本框数量的捕获。

但我不确定在进入编辑模式时添加代码的Gridview事件是否会运行循环,该循环将在选定要编辑的行的特定列中插入其他文本框。

用户看到colA,其中包含行vbCRLF嵌入的文字:

“这是示例文本。”

“线路2”

“3号线”

我的代码显示三个回车符,换行符。因此,当用户进入编辑模式时,我想为每一行或更准确地提供一个文本框,再添加两个,因为已存在一个。

感谢您提供任何可能的帮助。

此致

更新:这是解决方案......

Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound 
If (e.Row.RowState And DataControlRowState.Edit) > 0 Then 
  Dim ph As PlaceHolder = DirectCast(e.Row.FindControl("PlaceHolder1"), PlaceHolder) 
  For I = 1 To BoxesNeeded 
    Dim txtB As New TextBox 
    txtB.ID = "txtBEdit" & I.ToString("D2") 
    ph.Controls.Add(txtB) 
    Dim litCtrl As New Literal 
    litCtrl.ID = "litCtrl" & I.ToString("D2") 
    litCtrl.Text = "<br />" 
    ph.Controls.Add(litCtrl) 
  Next I 
End If 

End Sub

1 个答案:

答案 0 :(得分:0)

这是解决方案......

Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound 
    If (e.Row.RowState And DataControlRowState.Edit) > 0 Then 
        Dim ph As PlaceHolder = DirectCast(e.Row.FindControl("PlaceHolder1"), PlaceHolder) 
        For I = 1 To BoxesNeeded 
            Dim txtB As New TextBox 
            txtB.ID = "txtBEdit" & I.ToString("D2") 
            ph.Controls.Add(txtB) 
            Dim litCtrl As New Literal 
            litCtrl.ID = "litCtrl" & I.ToString("D2") 
            litCtrl.Text = "<br />" 
            ph.Controls.Add(litCtrl) 
        Next I 
    End If 

感谢,