Agregar una columna a un grid

Hola que tal tengo un problemilla...
Trabajo con visual 2008 y sql2000, soy muy nueva en esto prácticamente es mi primeras ampliación
Explico tengo una tabla Teléfonos, con los sig campos cve_tel, cve_contacto, teléfono, y tipo_tel este ultimo es de tipo tinyint. En la la aplicación hago lo típico altas, bajas y cambios en esta tabla, en el grid muestro el teléfono y el tipo de teléfono y ahí esta mi problema, el tipo de teléfono lo jala de un listbox (casa, cel, otro), pero como en la base solo almaceno valoresen tinyint el campo tipo no se como hacerle para que en el grid me muestre que tipo de teléfono que es valla! Con letras ejem en el grid muestra 1 pero no quiero que muestre ese uno sino que muestre la palabra "casa" si es 2"Celular" y así.
Espero me endiendan y puedan ayudarme

1 respuesta

Respuesta
Checa este código y lo adaptas
With Me.DataGridView1
            .Columns.Add("Tipo de Telefono", "Tipo de Telefono")
            If Not .Rows.Count < 0 Then
                For R As Integer = 0 To .Rows.Count - 1
                    Select Case .Rows(R).Cells(2).Value
                        Case Is = 1 : .Rows(R).Cells(3).Value = "Casa"
                        Case Is = 2 : .Rows(R).Cells(3).Value = "Celular"
                        Case Is = 3 : .Rows(R).Cells(3).Value = "Oficina"
                        Case Else : .Rows(R).Cells(3).Value = "Otro"
                    End Select
                Next
            End If
        End With
    End Sub
Hola gracias por contestar agregue el código, y me da errores el la linea
With GridView1.Columns.Add("Tipo_telefono", "Tipo_telefono")
Los errores: Un valor de tipo 'String' no se puede convertir en 'System. Web.UI.WebControls.DataControlField'. Y el otro es:
Demasiados argumentos para 'Public Sub Add(field As System.Web.UI.WebControls.DataControlField)'.
el codigo lo coloque en el Page_Load
Si me mandas tu proyecto comprimido en ZIP para checarlo porque cree un nuevo proyecto para este código y funciona bien.
[email protected]
Ok ya lo envíe
Saludos
Ya vi el error
Tu tienes al principio así:
With GridView1.Columns.Add("Tipo_telefono", "Tipo_telefono")
y tiene que ser asi:
With GridView1
            .Columns.Add("Tipo_telefono", "Tipo_telefono")
            If Not .Rows.Count < 0 Then
                For R As Integer = 0 To .Rows.Count - 1
                    Select Case .Rows(R).Cells(2).Value
                        Case Is = 1 : .Rows(R).Cells(3).Value = "Casa"
                        Case Is = 2 : .Rows(R).Cells(3).Value = "Celular"
                        Case Is = 3 : .Rows(R).Cells(3).Value = "Oficina"
                        Case Else : .Rows(R).Cells(3).Value = "Otro"
                    End Select
                Next
            End If
End With
Cuando utilizas el "With" es para que cuando tengas que usar varias veces un objeto, no tengas que escribirlo en cada linea, por ejemplo:
Con un TextBox:
With TextBox1.Font
          .Bold = True
          .Size = 10         
End With
Notas que no tuve que escribir "TextBox.Font en cada linea? Es porque use el "With TextBox1. Font", así es como si en cada linea ya lo tuviera escrito.
¿Se entiende?
Hola disculpa las molestias lo copie tal cual y me sigue marcando los mismos errores que te comente, Y aparte me marca este error : 'Value' no es un miembro de 'System. Web.UI.WebControls.TableCell'. Así que la propiedad value la cambie por text así:
Case Is = 1 : .Rows(R).Cells(4).Text = "Casa"
La verdad no entiendo porque me marca ese error, ¿tengo qué agregar algo más?...
¿Tu proyecto no es de Windows Forms verdad? Parece que es Web Forms"
Es que no pude ejecutar tu proyecto, por eso lo pregunto, y si es WebForm no podre ayudarte ya que no he usado ese tipo de Forms.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas