У меня есть класс для печати (с именем prinBill.cs)
using Tes4._3_Tier.DTO;
using System.Collections.Generic;
namespace Tes4.GUI.PrintBill
{
public partial class printBill : DevExpress.XtraReports.UI.XtraReport
{
public printBill()
{
InitializeComponent();
}
public void InitData(int patient_id, int bill_id, string name_pa, string add, string dob, string sym, string treat, string gender, float Sum,List<bill_ItemDTO> data)
{
bill_ID.Value = bill_id;
patienntID.Value = patient_id;
patientNName.Value = name_pa;
patientAdd.Value = add;
patientTreat.Value = treat;
patienSym.Value = sym;
patientDOB.Value = dob;
Total.Value = Sum;
patientGender.Value = gender;
objectDataSource1.DataSource = data;
}
}
}
Я не знаю, что именно произошло с моим кодом после его перестройки (мой последний запуск был хорошим). Вот код, в котором я получил ошибку в моем printBill.Designer.cs (аргумент это)
this.components = new System.ComponentModel.Container();
this.InitializeComponent();
DevExpress.XtraSplashScreen.SplashScreenManager splashScreenManager1 = new DevExpress.XtraSplashScreen.SplashScreenManager(this, null, true, true);
Я гуглил в какой-то теме, но это мне совсем не помогло. Я очень ценю вашу помощь.
Я не вижу, где строка, с которой у вас возникли проблемы, находится в учебнике.
@ LắcLê, пожалуйста, постарайтесь понять комментарии Джона, вы пытаетесь унаследовать XtraReport от Windows Form. Существует множество примеров веб-сайта DevExpress для Xtraprint. Пожалуйста, проверьте исполняемый файл демонстрационного центра DevExpress на вашем компьютере, который установлен вместе с вашей установкой devexpress. Если нет, установите соответствующую версию в вашей системе и попробуйте.
Я понял точку зрения Джона. @John, код printBill.designer генерируется автоматически.
Было бы здорово, если бы вы могли предоставить минимальный воспроизводимый пример.
Но где вы нашли код, который используете? Я могу только предположить, что вы сделали что-то не так, как в своем учебнике.





Удалите эту строку из файла конструктора:
DevExpress.XtraSplashScreen.SplashScreenManager splashScreenManager1 = new DevExpress.XtraSplashScreen.SplashScreenManager(this, null, true, true);
Используемая вами перегрузка конструктора SplashScreenManager ожидает тип Form для первого параметра. Класс XtraReport не является производным от Form, поэтому "это" (XtraReport) использовать нельзя:
SplashScreenManager(Form parentForm, Type splashFormType, bool useFadeIn, bool useFadeOut)
Если вы хотите отображать экран ожидания по мере создания отчета, делайте это из формы, вызывающей отчет, а не из самого отчета.
Вы спасли меня! Большое спасибо @Brendon
XtraReportне наследуется отSystem.Windows.Form, поэтому любые экземпляры, наследующие отXtraReport, не могут быть приведены кSystem.Windows.Form(точно так же, как если бы я попросил вас использовать морковку в качестве кредитной карты, никто бы ее не принял).