Почему мой производный серверный элемент управления отображает свою DataFormatString вместо отформатированного значения данных? - PullRequest
0 голосов
/ 26 августа 2011

У меня есть элемент управления, полученный из BoundField , используемого внутри GridView , как в разметке под кодом.Моя проблема заключается в том, что элемент управления отображает буквальное значение его DataFormatString , а не форматированное представление его значения данных.

public class BoundReportField : BoundField
{
    public override string DataFormatString
    {
        get
        {
            var baseString = base.DataFormatString;
            if (!string.IsNullOrWhiteSpace(baseString))
            {
                return FormatStrings.Currency;
            }
            return baseString;
        }
        set
        {
            base.DataFormatString = value;
        }
    }

    protected override string FormatDataValue(object dataValue, bool encode)
    {
        var val = base.FormatDataValue(dataValue, encode);
        return val;
    }
}

<avm:BoundReportField DataField="BOND_AMOUNT" DataFormatString="R #\,###\,###" />

Ответы [ 2 ]

2 голосов
/ 26 августа 2011

Попробуйте сделать это в вашей разметке:

DataFormatString="{0:R #\,###\,###}"

РЕДАКТИРОВАТЬ Удалена лишняя цитата

1 голос
/ 26 августа 2011

извините, мой другой был не прав, я считаю, что ваша строка формата должна соответствовать этому формату DataFormatString = "{0: D6}", поэтому измените его так, чтобы он выглядел так "{0: R # \, ### \, ###} "

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