как String.Format RadGrid (Telerik) Sum приводит к нижнему колонтитулу? - PullRequest
0 голосов
/ 18 июля 2011

мой столбец Radgrid, как показано ниже:

<telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn_Benefit" DataField="Benefit"
                    HeaderText="Benefit" UniqueName="TemplateColumn_Benefit" FilterImageToolTip="Filter">
                    <ItemTemplate>
                        <asp:Label ID="lblBenefitInsideGrd" runat="server" Font-Size="11px" Text='<%# (bool)Convert.IsDBNull(Eval("Benefit")) ? "<span class=\"lblInsideGrd\">Empty</span>" : String.Format("{0:#,0 Dollar;#,0- Dollar}", Eval("Benefit")) %>'></asp:Label>
                    </ItemTemplate>
                    <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="60px" />
                    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="60px" />
                </telerik:GridTemplateColumn>  

как я могу String.Format (переформатировать) Сумма результата в нижнем колонтитуле для этого столбца шаблона?
значит я хочу что-то вроде {0: #, 0 Dollar; #, 0- Dollar} в выводе ...

заранее спасибо

Ответы [ 2 ]

2 голосов
/ 18 июля 2011

ссылка ниже решает мою проблему:

http://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/aggregates/defaultcs.aspx

/// <summary>
/// The MasterTableView.DataBinding event is used to preserve the applied formatting to
/// data values in the column aggregate and still be able to add the name of the currently
/// selected aggregate function.
/// </summary>
protected void MasterTableView_DataBinding(object sender, EventArgs e)
{
    GridNumericColumn unitPriceCol = RadGrid1.MasterTableView.GetColumnSafe("UnitPrice") as GridNumericColumn;
    unitPriceCol.FooterAggregateFormatString = unitPriceCol.Aggregate.ToString() + ": {0:C}";
}
0 голосов
/ 18 июля 2011

Вы можете добавить дополнительный аргумент Format к функции Eval:

Eval("Benefit", "{0:#,0 Dollar;#,0- Dollar}")
...