Есть ли способ получить программный доступ к столбцам подробного раздела ActiveReports? - PullRequest
0 голосов
/ 24 мая 2010

У меня есть отчет в Data Dynamics ActiveReports для .NET. В этом отчете я программно устанавливаю свойство ColumnCount раздела сведений в X. Раздел сведений имеет одно текстовое поле с привязкой к данным.

Для свойства ColumnDirection в разделе сведений установлено значение AcrossDown, а затем механизм привязки данных автоматически заполняется данными после установки DataSource и DataMember.

Вот код ...

Public Sub RunReport
        Dim count As Integer = 0

        ' ...    get count

        Detail1.ColumnCount = count

        Me.DataSource = ds
        Me.DataMember = ds.Tables(0).TableName

End Sub

Этот код работает нормально, и данные автоматически заполняются в отчете.

Теперь мне нужно изменить отчет и обвести или выделить один из элементов, который автоматически заполняется в столбцах отчета.

Я не могу найти способ программно получить доступ к автоматически сгенерированным столбцам, чтобы я мог включить границу или нарисовать круг или что-то еще. Есть идеи, как мне это сделать?

Сет

1 Ответ

2 голосов
/ 25 мая 2010

Вы можете включить границу, установив свойства элемента управления в событии «Формат».Например, если вы хотите установить границу текстового поля, когда его значение меньше нуля, вы можете использовать что-то вроде следующего кода:

 private void detail_Format(object sender, System.EventArgs eArgs)
 {
      if (this.TextBox1.Value < 0) {
           this.TextBox1.Border.BottomColor = System.Drawing.Color.Blue;
           this.TextBox1.Border.BottomStyle = BorderLineStyle.DashDot;
           this.TextBox1.Border.LeftColor = System.Drawing.Color.Blue;
           this.TextBox1.Border.LeftStyle = BorderLineStyle.DashDot;
           this.TextBox1.Border.RightColor = System.Drawing.Color.Blue;
           this.TextBox1.Border.RightStyle = BorderLineStyle.DashDot;
           this.TextBox1.Border.TopColor = System.Drawing.Color.Blue;
           this.TextBox1.Border.TopStyle = BorderLineStyle.DashDot;
      }
 }

Считайте здесь для получения дополнительной информациив свойстве border.

Получить положение элемента управления на полученной странице не так просто.Вы можете рассчитать положение, основываясь на некоторых вещах, но я бы порекомендовал использовать сам элемент управления, чтобы выделить нужные данные, а не рисовать на странице.Это облегчит вашу жизнь:)

Если для вас важна форма круга, вы можете использовать элемент управления «Форма» в ActiveReports, чтобы сделать это, установив его положение и видимость в зависимости от условия.Просто убедитесь, что z-порядок фигуры находится под текстовыми полями.Код для использования формы будет аналогичен тому, как я структурировал код выше, но вы бы задали свойства Top / Left / Width / Height и Visible элемента управления shape вместо установки свойств границы.Более подробная информация о контроле формы здесь .

Надеюсь, это поможет.

 Scott Willeke
 GrapeCity
...