如何在devexpress中搜索表单上的所有控件(包括子报表)

发布于 2024-12-19 16:38:47 字数 211 浏览 0 评论 0原文

我有一份开发快报。我想搜索报告上的所有控件。

Windows 窗体中的正常约定是:

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

不幸的是,这在 Dev Express 窗体中不起作用。有什么解决办法吗?

谢谢

I have a dev express report. I want to search for all controls on the report.

The normal convension in windows forms would be:

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

Unfortunately this will not work in Dev Express form. Any solutions?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

a√萤火虫的光℡ 2024-12-26 16:38:47

有很多这样的问题,涉及在报告中查找控件或在鼠标悬停时突出显示单元格等。

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 Event

报告具有一定的结构,您可以像在 GridView 中一样在特定容器中找到控件。例如,在 editTemplate 中查找控件 .. 控件的特定容器

检查这些链接以获取有关此内容的更多信息:
循环浏览报表控件或查找所有可见字符串
在报表中查找 TableCell 控件
查找报告上的所有数据绑定控件

There are lots of such questions regarding to find control in report or highlighting cell on mouse over etc..

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

subreport control - Check attached sample here
How can set the text of a label on a Subreport?

Check this code snippet to take some idea for your functionality..

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 Event

Report have some structure and you have find control at particular container as you do you in GridView. e.g. find control in editTemplate .. the particular container of the control

Check these links get more information about this:
Loop thru controls of Report or find all visible strings
Find TableCell Controls inside a report
Find all databound controls on report

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文