繁体   English   中英

在gridview中格式化枚举

[英]formatting enum in gridview

我需要在gridview中显示enum的名称,数据表返回其数值

我正在将其用于其他专栏

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

我需要使用它来枚举显示枚举性别的字符串值

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

试试这个解决方案

Enum.GetName方法

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

如果您更喜欢VB.NET:

 <asp:TemplateField HeaderText="Status" SortExpression="VisibilityStatus">
      <ItemTemplate>
          <%# [Enum].GetName(GetType(VisibilityStatusEnum), Eval("VisibilityStatus"))%>
      </ItemTemplate>
 </asp:TemplateField>

它帮助了我:)然后我发现这更简单

<asp:TemplateField HeaderText="Gender">
  <ItemTemplate><%#(MyGenderEnum)Eval("Gender")%></ItemTemplate>
</asp:TemplateField>

这个版本在VB.NET中对我有用:

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

Iterestingly,它不能用于DirectCast而不是CType,并且在我添加ToString()之前仍然显示整数。 在我的情况下,我还必须为我的枚举添加命名空间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM