Я использую MS Chart Control в приложении Winforms, которое я пишу. Компонент оси X графика рассеяния, который я показываю, — это данные Int64, которые в конечном итоге представляют время в формате UTC. Я хотел бы взять эти данные Int64 и, по сути, выполнить для них DataTime.FromFileTimeUTC(theTime).ToString(), чтобы показать значащие метки оси X для конечного пользователя.
В настоящее время я создаю еще один столбец в памяти DataTable для хранения эквивалента DateTime этого Int64 следующим образом:
dataTable.Columns.Add("mytimestamp");
foreach (DataRow dr in dataTable.Rows)
{
dr["mytimestamp"] = DateTime.FromFileTimeUTC(Convert.ToInt64(dr["theint64val"].ToString()));
}
А затем использовать столбец «mytimestamp» в качестве значения оси X. Это отлично работает, и я могу показать метки оси x как значения даты и времени.
Но я бы предпочел не создавать столбец и по существу дублировать данные другого столбца, но не видел никакого способа отформатировать метки оси x. Возможно, я пропустил это, я предположил. Я видел событие AxisViewChanged в документации и видел, как я могу установить заголовок диаграммы с этими данными, но не сами метки оси X.
Любые идеи?