Foros del Web » Programando para Internet » ASPX (.net) »

Ayuda con Enumeraciones y DataGridView

Estas en el tema de Ayuda con Enumeraciones y DataGridView en el foro de ASPX (.net) en Foros del Web. Ke ondas..... chavos tengo un problema, lo ke pasa es ke ice una enumeracion en vb.net y ken la tabla donde guardo el valor de ...
  #1 (permalink)  
Antiguo 25/03/2010, 17:48
 
Fecha de Ingreso: abril-2008
Mensajes: 8
Antigüedad: 16 años
Puntos: 0
Ayuda con Enumeraciones y DataGridView

Ke ondas.....

chavos tengo un problema, lo ke pasa es ke ice una enumeracion en vb.net y ken la tabla donde guardo el valor de la enumeración deseo mostrar todos los datos en un DataGridView, aki pongo lo ke son las funciones para ke me echen la mano:


Public Enum TipoGrupo As Integer
A = 1
B = 2
C = 3
D = 4
E = 5
F = 6
G = 7
H = 8
End Enum

Public Function Grupo(ByVal Salon As TipoGrupo)
Dim result As String
result = ""
Select Case Salon
Case TipoGrupo.A
result = "Grupo A"
Case TipoGrupo.B
result = "Grupo B"
Case TipoGrupo.C
result = "Grupo C"
Case TipoGrupo.D
result = "Grupo D"
Case TipoGrupo.E
result = "Gurpo E"
Case TipoGrupo.F
result = "Grupo F"
Case TipoGrupo.G
result = "Grupo G"
Case TipoGrupo.H
result = "Grupo H"
End Select
Return result
End Function

en la primera función establesco la enumeracion y en la segunda muestro el valor de cada uno de los miembros de la enumeracion

#Region "Get Alumnos"
Public Overloads Function GetAlumnos(ByVal Search As String) As DataSet
'Cadena de conexion
Dim con As SqlConnection = New SqlConnection(Me.ConexionBD)
Dim result As New DataSet
'consulta
Dim query As String
'Segenera la Coonsulta
query = "Select * From Alumnos"
If (Search <> "") Then
query += " Where Nombre Like %" + Search + "%"
End If
'DataAdapter
Dim adapter As New SqlDataAdapter(query, con) ' = OleDb.OleDbDataAdapter
Try
con.Open()
adapter.Fill(result, "Tabla")
Catch ex As Exception
Throw
Finally
adapter.Dispose()
End Try
Return result
End Function
#End Region

esta función es donde mando llamar la consulta de sql para traerme todos los datos de la tabla Alumnos.

#Region "Load Alumnos"
Private Sub LoadAlumnos()
Try
'Cargamos los registros en el GridView
Grid.DataSource = New Data.Alumnos().GetAlumnos(Nothing)
Grid.DataBind()
Catch ex As Exception
Throw
End Try
End Sub
#End Region

en esta mando llamar a la funcion anterior y lleno el grid.
ahora aqui viene lo bueno, necesito de saber que poner en el asp.net para ke en lugar de ke me aparesca el valor numerico del campo, me aparezca la descripcion del mismo.

He buscado en varias paginas y algunos me dan alguas cosas pero me da error. por ejemplo:

opcion 1
<asp:TemplateField HeaderStyle-CssClass="EncabezadoCentrado" ItemStyle-CssClass="DatosGrid2">
<HeaderTemplate>Grupo</HeaderTemplate>
<ItemTemplate>
<%# System.Enum.GetNames(typeof(Bussines.TipoGrupo), integer.Parse(Eval("Grupo"))) %>
</ItemTemplate>
<HeaderStyle CssClass="EncabezadoCentrado" />
<ItemStyle CssClass="DatosGrid" />
</asp:TemplateField>

opcion 2

<asp:TemplateField HeaderStyle-CssClass="EncabezadoCentrado" ItemStyle-CssClass="DatosGrid2">
<HeaderTemplate>Grupo</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Enum.Parse(typeof(Colors), Eval("ColumnColor").ToString()) %>'></asp:Label>
</ItemTemplate>
<HeaderStyle CssClass="EncabezadoCentrado" />
<ItemStyle CssClass="DatosGrid" />
</asp:TemplateField>


opcion 3

<asp:TemplateField HeaderStyle-CssClass="EncabezadoCentrado" ItemStyle-CssClass="DatosGrid2">
<HeaderTemplate>Grupo</HeaderTemplate>
<ItemTemplate>
<asp:Label> <%# DataBinder.Eval(Container.DataItem, "CRAction") %></asp:Label> </ItemTemplate>
<HeaderStyle CssClass="EncabezadoCentrado" />
<ItemStyle CssClass="DatosGrid" />
</asp:TemplateField>

opcion 4

<asp:TemplateField HeaderText=”Category”>
<ItemTemplate>
<div>
<%# Enum.GetName(typeof(GlobalLibrary.Constants.Catego ry),Convert.ToInt32(Eval(“Category”))) %>
</div>
</ItemTemplate>
</asp:TemplateField>


y para mi desgracia ninguna me funciona me podrian echar la mano por favor
graxias

Etiquetas: datagridview, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:14.