как в Detailcontrol указать два объекта

отредактировано May 2012 Раздел: FastReport .NET
в таблице есть поля
ID - код пользователя
Date_Enter - дата ввода записи

Требуется создать отчет по некоторым пользователям (ID) из некоторого интервала дат (Data_Enter)

В диалоговой форме создаю:
- CheckedListBox1 с перечнем ID (в свойствах AutoFill=true, AutoFilter=true, DataColumn ссылается на поле ID)
- ComboBox1 и ComboBox2 (в свойствах AutoFill=true, AutoFilter=true, DataColumn ссылается на одно и то же поле Date_Enter)

Хочу чтобы в комбобоксах отражались только те даты, которые соответствуют выбранным ID. Для этого свойству DetailControl объекта CheckedListBox1 присваиваю значение ComboBox1. Для ComboBox1 цель достигнута. Как те же даты, что и в ComboBox1, отразить и в ComboBox2? В свойство DetailControl занести два значения ComboBox1 и ComboBox2 не выходит.

И как отражать даты в комбобоксе без времени?

Свойство Sorted объекта ComboBox1 устанавливаю в True, даты сортируются, но не в хронологическом порядке, а в алфавитном. (например дата 10.04.2011 будет меньше от даты 20.03.2012, т.к. 1<2, а то что 4>3, не учитывается)

Комментарии

  • отредактировано 05:44
    Здравствуйте,

    У ComboBox2 поставьте AutoFill = false. Создайте обработчик ComboBox1.DataLoaded и напишите следующий код:

    ComboBox2.FillData(CheckedListBox1);

    Даты без времени можно отражать, перекрыв событие ComboBox.DrawItem:
        private void ComboBox1_DrawItem(object sender, DrawItemEventArgs e)
        {
          e.DrawBackground();
          DateTime dateTime = DateTime.Parse(ComboBox1.Items[e.Index].ToString());
          TextRenderer.DrawText(e.Graphics, dateTime.ToString("D"), e.Font, e.Bounds.Location, e.ForeColor);
        }
    

    Также надо установить свойства ComboBox - DrawMode=OwnerDrawFixed, DropDownStyle=DropDownList.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.