这可以使用自定义绑定字段来完成。从自定义 BoundField 类开始。下面我尝试遵循您的命名约定。
namespace CustomBoundField
{
public class NFIBoundField : System.Web.UI.WebControls.BoundField
{
protected override string FormatDataValue(object dataValue, bool encode)
{
if (dataValue == null || dataValue == System.DBNull.Value)
return "";
if (base.DataFormatString == string.Empty)
return dataValue.ToString();
// Format as you wish based on dataValue and DataFormatString argument
return string.Format("{0}", dataValue);
}
}
}
在 .ASPX 文件中注册控件:
<%@ Register Namespace="CustomBoundField" TagPrefix="custom" %>
引用 GridView 中的自定义 BoundField:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<custom:NFIBoundField DataField="Price" HeaderText="Price" DataFormatString="{0:NFI}"/>
</Columns>
</asp:GridView>
您将需要在 FormatDataValue() 内部进行操作以获得所需的格式。
一些评论:
这种方法应该适合你。祝你好运。