как найти все элементы управления на форме в dev express (включая подотчеты) - PullRequest
0 голосов
/ 05 декабря 2011

У меня есть отчет экспресс-разработки.Я хочу найти все элементы управления в отчете.

Обычное соглашение в формах Windows будет следующим:

foreach (Control c in Control.ControlCollection)
{
         ........
}

К сожалению, это не будет работать в форме Dev Express.Какие-нибудь решения?

Спасибо

1 Ответ

2 голосов
/ 05 декабря 2011

Существует множество таких вопросов, касающихся поиска элемента управления в отчете или выделения ячейки при наведении мыши и т. Д.

xrLabel1.Text = ((XRLabel)((XtraReport)xrSubreport1.ReportSource).FindControl("xrLabel1", false)).Text;

контроль подчиненного отчета - Проверьте прикрепленный образец здесь
Как установить текст метки в подотчете?

Проверьте этот фрагмент кода, чтобы получить представление о вашей функциональности ..

Private Sub XtraReport1_BeforePrint(ByVal sender As Object, ByVal e As
System.Drawing.Printing.PrintEventArgs)
    Dim collection As XRControlCollection = (CType(CType(sender, DevExpress.XtraReports.UI.XtraReport),
Q274540.XtraReport1)).Detail.Controls
    For i As Integer = 0 To collection.Count - 1
        If TypeOf collection(i) Is XRLabel Then
            If (CType(collection(i), XRLabel)).DataBindings.Count <> 0 Then
                'your code here
            End If
        End If
    Next i
End Sub

Событие XRControl.BeforePrint

Отчет имеет некоторую структуру, и вы можете найти управление в конкретном контейнере, как в GridView. например найти элемент управления в editTemplate .. конкретный контейнер элемента управления

Проверьте эти ссылки, чтобы получить больше информации об этом:
Переберите элементы управления Report или найдите все видимые строки
Найти элементы управления TableCell внутри отчета
Найти все элементы управления с привязкой к данным в отчете

...