views:

818

answers:

2

How can I have a datagridview that will autogenerate a textbox instead of a label?

A: 

Can you not use a template column with a textbox inside it? Then use eval to populate the value?

Blounty
+2  A: 

In short, you can't. You could inherit from a gridview and implement it yourself. It could look something like this:

Public Class MyGrid
Inherits GridView


Private Sub MyGrid_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles Me.RowDataBound
  If Me.AutoGenerateColumns = True Then
    If e.Row.RowType = DataControlRowType.DataRow Then
        For Each c As TableCell In e.Row.Cells
            Dim tb As New TextBox()
            tb.Text = c.Text
            c.Controls.Clear()
            c.Controls.Add(tb)
        Next
    End If
    End If
End Sub
brendan
For the record it doesnt need to overload the class, if its just for a single problem you can just handle dgv.RowDataBound.Thousand thanks.
Dested