2013-02-01 3 views
1

Я использую Crystal Report для моего проекта. Он работает очень хорошо, но я просто хочу сделать его более гибким. У меня есть текстовые объекты с текстом в них. Они не связаны, поскольку они являются дополнительной информацией о моем отчете. Как я могу сделать эти текстовые объекты доступными для редактирования во время выполнения? Что-то вроде щелчка мыши, поэтому пользователь может редактировать его, как то, что я делаю в дизайне? мне нужно добавить программу в свой проект? Я использую vb.net 2010Изменить текст текстового объекта Crystal Report во время выполнения

Я использую этот код для вызова моего отчета

Dim sett As New DataSet1 
Dim oRpt As New Accountability 
Dim obj As CrystalDecisions.CrystalReports.Engine.TextObject 
obj = oRpt.ReportDefinition.Sections("Section5").ReportObjects.Item("txtRel") 
'Connection code, sql query here 
Rpt.SetDataSource(dta) 
frmReport.CrystalReportViewer1.ReportSource = oRpt 
frmReport.CrystalReportViewer1.RefreshReport() 
frmReport.Show() 

текстового объект, который мне нужно редактировать не связан. Его создание во время разработки

ответ

4
Private Sub Form1_Load(sender as Object, e as EventArgs) Handles MyBase.Load 
    Dim oRpt As New Accountability 

    frmReport.CrystalReportViewer1.ReportSource = oRpt 
    frmReport.Show() 
End Sub 

Private Sub btnChangeText_Click(sender as Object, e as EventArgs) Handles btnChangeText.Click 
    Dim oRpt As New Accountability 
    ' Change the text of the TextObject you want to change here 
    DirectCast(oRpt.ReportDefinition.ReportObjects("Text1"), TextObject).Text = "Your Text" 
    DirectCast(oRpt.ReportDefinition.ReportObjects("Text2"), TextObject).Text = "Your Second Text" 

    frmReport.CrystalReportViewer1.ReportSource = oRpt 
    frmReport.CrystalReportViewer1.RefreshReport() 
    frmReport.Show() 
End Sub 

Это то, что вам нужно!

+0

Спасибо за ваш ответ, но мне нужно, чтобы я мог редактировать его после того, как был загружен отчет. Я не могу исправить текст, так как пользователь может вводить все, что захочет. Что-то вроде он может редактировать этот отчет во время разработки. – Lethugs

+0

См. Обновленный ответ. –

-1
Dim objText As CrystalDecisions.CrystalReports.Engine.TextObject = 
     Report.ReportDefinition.Sections(1).ReportObjects("txtDate") 

objText.Text = frmList.txtCall.Text 
Смежные вопросы