2014-11-10 4 views
0

Я знаю, что есть различные способы добавления элементов управления в Active Report. Я нашел их на различных веб-страниц, таких как:Добавить элемент управления в конструктор активного отчета

this.Sections["groupHeader1"].Controls.Add(txt); 

Но это не мое дело, я должен загрузить дизайнер т.е. GrapeCity.ActiveReport.Design.Designer с некоторыми элементами управления. Я хочу добавить эти элементы управления из своего кода. Пожалуйста, помогите мне.

ответ

1

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

private void button1_Click(object sender, EventArgs e) 
    { 
     GrapeCity.ActiveReports.SectionReportModel.TextBox txtBox = new GrapeCity.ActiveReports.SectionReportModel.TextBox(); 
     txtBox.Text = "Hello World!"; 
     txtBox.Location = new Point(1, 1); 
     txtBox.Size = new SizeF(2, 0.5f); 
     ((GrapeCity.ActiveReports.SectionReport)reportdesigner.Report).Sections["Detail"].Controls.Add(txtBox); 
    } 

Здесь ReportDesigner это имя элемента управления конструктора. Надеюсь это поможет.

+0

Спасибо за ваш ответ, так как ответы очень редки для ActiveReports. У меня есть решение, изучив документацию. Я также опубликую свое решение. – Ammar

+0

Ваш ответ выглядит более сложным, чем мое решение. – Ammar

0

Я сделал это, получив новый SectionReport и приняв в нем Designer.Report. Теперь добавление управления в SectionReport означает, добавив элемент управления в Designer.Report. Это то, что я думаю о следующем решении, поскольку это сработало для меня.

Dim sr As New GrapeCity.ActiveReports.SectionReport() 

sr = Me.reportdesigner.Report 
''Adding Detail section 
sr.Sections.Insert(1, New GrapeCity.ActiveReports.SectionReportModel.Detail()) 
sr.Sections(1).BackColor = Color.PeachPuff 
sr.Sections(1).Height = 1.5F 

Dim lbl2 As New GrapeCity.ActiveReports.SectionReportModel.Label() 

lbl2.Location = New PointF(0, 0.05F) 
lbl2.Text = "Category ID" 
lbl2.Alignment = GrapeCity.ActiveReports.Document.Section.TextAlignment.Center 
lbl2.Font = New System.Drawing.Font("Arial", 10, FontStyle.Bold) 
sr.Sections(1).Controls.Add(lbl2) 

Сообщите мне, существует ли какой-либо вопрос в этом ответе.

0

Ниже приведен код, который вы можете ввести в событие загрузки формы.

GrapeCity.ActiveReports.SectionReport sectionReport = new GrapeCity.ActiveReports.SectionReport(); 
    sectionReport.Sections.Add(GrapeCity.ActiveReports.Document.Section.SectionType.Detail, "Body"); 
       GrapeCity.ActiveReports.SectionReportModel.TextBox MyTextBox = new GrapeCity.ActiveReports.SectionReportModel.TextBox(); 
       MyTextBox.Text = "My Runtime Text"; 
       MyTextBox.ShrinkToFit = true; 
       MyTextBox.DataField = "ID"; 
       sectionReport.Sections[0].Controls.Add(MyTextBox); 
Смежные вопросы