форматирование enum в gridview - PullRequest
       3

форматирование enum в gridview

6 голосов
/ 31 августа 2010

мне нужно отобразить имя enum в gridview по данным таблицы возвращает ее числовое значение

я использую это для других столбцов

<asp:BoundField DataField="Name" HeaderText="User Name" /> 

мне нужно использовать его для перечисления, чтобы отобразить строковое значение enum Пол

<asp:BoundField DataField="Gender" HeaderText="Gender" /> 

Ответы [ 4 ]

8 голосов
/ 31 августа 2010

Попробуйте это решение

Enum.GetName Method

<asp:TemplateField HeaderText="Category">
<ItemTemplate>
<div>
<%# Enum.GetName(typeof(GlobalLibrary.Constants.Category),Convert.ToInt32(Eval("Category"))) %>
</div>
</ItemTemplate>
</asp:TemplateField>
1 голос
/ 06 ноября 2013

А если вы предпочитаете VB.NET:

 <asp:TemplateField HeaderText="Status" SortExpression="VisibilityStatus">
      <ItemTemplate>
          <%# [Enum].GetName(GetType(VisibilityStatusEnum), Eval("VisibilityStatus"))%>
      </ItemTemplate>
 </asp:TemplateField>
1 голос
/ 12 мая 2011

Это помогло мне :) И тогда я нашел это проще

<asp:TemplateField HeaderText="Gender">
  <ItemTemplate><%#(MyGenderEnum)Eval("Gender")%></ItemTemplate>
</asp:TemplateField>
0 голосов
/ 18 июля 2017

У меня эта версия работала в VB.NET:

<asp:TemplateField HeaderText="Gender">
   <ItemTemplate><%# CType(Eval("Gender"), Gender).ToString() %></ItemTemplate>
</asp:TemplateField>

Интересно, что он не работал с DirectCast вместо CType и по-прежнему отображал целые числа, пока я не добавил ToString (). Мне также пришлось добавить пространство имен к моему enum в моем случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...