none
Как в базе данных дату и время хранить в Utc а выводить в datagridview в локальном виде RRS feed

  • Вопрос

  • Привет всем!

    Как в базе данных дату и время хранить в Utc, а выводить в datagridview в локальном виде?

    Про рограммный способ я знаю .ToLocalTime();

    Я использую биндинги (не хотелось бы реализовывать этот функционал руками ради того чтобы в цикле задать .ToLocalTime()). Хотелось бы узнать возможно ли каким-то образом повлиять на вывод в datagridview в локальном времени? При этом заполнение данных в БД производится из этого же грида (при записи надо перевести в универсальное время).

    В файле DataSet1.xsd для каждой колонки есть параметр DateTimeMode= Local ,Utc и т.д. его нельзя менять при работе программы, непонятно как он работает ставишь Utc выводить и пишет в базу в Utc, ставишь Local пишет и выводить в Local. А нужно чтоб писал в UTC а читал в Local
    • Перемещено Siddharth Chavan 1 октября 2010 г. 22:08 MSDN Forums Consolidation (От:Visual C#)
    14 декабря 2009 г. 12:03

Ответы

  • http://msdn.microsoft.com/en-us/library/7fb61s43.aspx

    Я думаю достаточно будет заменить formattedValue на то что надо отобразить.
    protected
     override void
     Paint(
    Graphics graphics,
    Rectangle clipBounds,
    Rectangle cellBounds,
    int rowIndex,
    DataGridViewElementStates cellState,
    object value,
    object formattedValue,
    string errorText,
    DataGridViewCellStyle cellStyle,
    DataGridViewAdvancedBorderStyle advancedBorderStyle,
    DataGridViewPaintParts paintParts)
    {

    formattedValue = ...;
    // Call the base class method to paint the default cell appearance.
    base .Paint(graphics, clipBounds, cellBounds, rowIndex, cellState,
    value, formattedValue, errorText, cellStyle,
    advancedBorderStyle, paintParts);
    }

    This posting is provided "AS IS" with no warranties, and confers no rights.
    • Помечено в качестве ответа its_dens 15 декабря 2009 г. 6:27
    14 декабря 2009 г. 21:15
    Модератор