none
¿Cómo editar texto en un datagrid? RRS feed

  • Pregunta

  • Saludos,

    Tengo un datagrid al cual quisiera modificarle los datos en tiempo de ejecución.
    Lo he intentado con el siguiente código pero no me funciona aún. Si alguien sabe como se hace le  agradezco la ayuda.
    Code Snippet

    Private Sub creatabla()
          
            Dim table As New DataTable
            Dim column As DataColumn
            Dim row As DataRow

            ''Primer columna
          
            column = New DataColumn
            column.DataType = System.Type.GetType("System.String")
            column.ColumnName = "Codigo"
            column.MaxLength = 9
            table.Columns.Add(column)

            ' Segunda columna
          
            column = New DataColumn
            column.DataType = System.Type.GetType("System.String")
            column.ColumnName = "Descripcion"
            column.MaxLength = 80
            table.Columns.Add(column)

            ' Tercera columna

            column = New DataColumn
            column.DataType = System.Type.GetType("System.String")
            column.DefaultValue = "default string"
            column.ColumnName = "Unidad"
            column.MaxLength = 15
            table.Columns.Add(column)

            Dim cm As CurrencyManager = CType(Me.BindingContext(table), CurrencyManager)
            Dim myColumnTextColumn As DataGridTextBoxColumn
            myColumnTextColumn = New DataGridTextBoxColumn()

            dbConectar()  'este es un procedimiento para conectarse a la base de datos
            strSql = "Select cod_articulo, desc_articulo, unidad from articulos where desc_articulo = " & txtdesc.Text
            sqlcommand = New SqlCeCommand(strSql, dbconn)

            rdr = sqlcommand.ExecuteReader
            While rdr.Read()
                row = table.NewRow
                row("Codigo") = rdr("cod_articulo")
                row("Descripcion") = rdr("desc_articulo")
                row("Unidad") = rdr("unidad")
                table.Rows.Add(row)
            End While

            DataGrid1.DataSource = table
            DataGrid1.TableStyles.Add(New DataGridTableStyle())
            DataGrid1.TableStyles(0).GridColumnStyles.Add(myColumnTextColumn)
    martes, 21 de agosto de 2007 22:20

Respuestas

  • Buenas,

    Te explico lo que vi en su día, por si no te puedo dar una idea.

    Era un dataGrid en el que tenía un cuadro de texto y un cuadro combinado invisibles... cuando en el grid clicabas en una celda, calculaba la altura donde estaba la celda y sus tamaños y ponía el cuadro de texto (o cuadro combinado... según lo que quieras) encima, y a la hora de bien pulsar enter o clicar en otro lado modificaba la celda del cuadro de texto a el dataGrid.

    Eso era así por encima, que igual te puede ayudar Smile

    Un saludo.
    jueves, 13 de septiembre de 2007 7:46