Не удается получить дату, показанную во временных блоках CSN ActiveGantt
(Как вы можете видеть на предоставленном изображении, временные блоки пусты.)
(Ожидаемый результат)
Всем привет. Поэтому я попытался воспроизвести образец CarRental. Я успешно импортировал события из базы данных, но не могу показать ничего, кроме TimeMarkArea.
Заранее благодарим за любую помощь, которую вы можете оказать.
1 ответ
Спасибо за размещение этого вопроса. Прежде всего, используемая вами терминология неверна. Вы имеете в виду уровни временной шкалы, а не временные блоки.
Вот изображение, которое показывает разницу между ними:
Вы не опубликовали никакого кода, но так как это очень распространенная проблема, я могу представить, что проблема в том, что когда вы копировали код, вы не переопределяли:
private void ActiveGanttCSNCtl1_CustomTierDraw(object sender, AGCSN.CustomTierDrawEventArgs e)
{
if (e.Interval == E_INTERVAL.IL_HOUR & e.Factor == 12)
{
e.Text = e.StartDate.ToString("tt").ToUpper();
}
if (e.Interval == E_INTERVAL.IL_MONTH & e.Factor == 1)
{
e.Text = e.StartDate.ToString("MMMM yyyy");
}
if (e.Interval == E_INTERVAL.IL_DAY & e.Factor == 1)
{
e.Text = e.StartDate.ToString("ddd d");
}
}
Если вы посмотрите на событие загрузки для формы, когда вы добавляете представление:
oView = ActiveGanttCSNCtl1.Views.Add (E_INTERVAL.IL_MINUTE, 30, E_TIERTYPE.ST_CUSTOM, E_TIERTYPE.ST_CUSTOM, E_TIERTYPE.ST_CUSTOM);
Все типы уровней настроены на пользовательские. Это документация для метода добавления.
http://www.sourcecodestore.com/Documentation/Topic.aspx?PN=AG&PL=CSN&LID=1453
И это документация для события CustomTierDraw:
http://www.sourcecodestore.com/Documentation/Topic.aspx?PN=AG&PL=CSN&LID=274
Если для TierType установлено значение E_TIERTYPE.ST_CUSTOM, элемент управления вызовет событие CustomTierDraw при рисовании подписей для объекта уровня. Если CustomTierDraw не переопределен, то у уровней не будет заголовка, и они будут отображаться как пустые.
С уважением,
Хулио Лузардо