Редактировать: я проверял это на работу.
<asp:TemplateField HeaderText="My Number">
<ItemTemplate>
<asp:Label runat="server"
Text='<%# Eval("MyNumber", FormatHelper.Format((decimal)Eval("MyNumber"), (decimal)Eval("Precision") )) %>' />
</ItemTemplate>
</asp:TemplateField>
Это работает, потому что метод Eval принимает DataFormatString
в качестве необязательного второго параметра. примечание: убедитесь, что вы заменили приведения соответствующими типами для сигнатуры метода.
Более простым способом может быть привязка к проекции linq-to-objects.
myGridView.DataBind( from foo in fooList
select new {
MyNumber = MyNumber,
Precision = Precision,
MyFormattedNumber = FormatHelper.Format(MyNumber, Precision),
} );