을 설정하는 방법을 데이터 소스에서 필드를 XtraReports 지 않고 데이터 집합은 디자인까?

StackOverflow https://stackoverflow.com/questions/1242825

  •  12-09-2019
  •  | 
  •  

문제

나는 보려면 지금 XtraReports 도구를 보고 무언가가있는 나는 그것을 얻지 않는 아직이다.

를 설정하는 방법은 무엇입니까 데이터 소스를 위한 특정 분야(보여주는 보고서에서 레이블로 나),하지 않고도 연결을 구축,어댑터 및 데이터 집합은 디자인 시간이지만 그 일을 프로그래밍 방식으로.

예를 들어,내가 할 수 있습이라는 테이블이"사용자"3fields:UserId,사용자 이름과 암호를 입력합니다.보고서 디자이너에서 배치 3 상표(그리고 여기에 제 질문)설정 데이터 원본을 보여주기를 위한 3 개의 데이터베이스 필드가 있습니다.다음 코드에서 뒤에 나는 연결을 만듭,실행하는 명령을 채우기,데이터 집합,보고서를 작성 인스턴스,전달 datatable 하고 보고서를 표시합니다.

이것이 가능한가요?면 충분히 명확하지 않다.

감사합니다!

도움이 되었습니까?

해결책

을 설정할 수 있습 보고서의 DataSourceSchema 제공하는 XML 스키마를 나타내는 DataSource.을 사용할 수 있도록하는 보고서는 디자이너를 설정하는 데이터 바인딩에서 설계 시간을 설정하지 않고 데이터베이스에 연결됩니다.

여기에 내가 그것을 하:면 내가 내 보고서가 쿼리로 완료되 나는 코드를 실행하십시 한 번으로 전화

myDataSet.WriteXml("C:\myDataSourceSchema.xml", System.Data.XmlWriteMode.WriteSchema)

다음은 보고서에서 디자이너 설정 보고서의 DataSourceSchema 속성을 새로 생성한 파일입니다.이를 채웁니다 이 보고서는 디자이너의 분야 목록 탭 그래서 당신은 바인딩 할 수 있습니다.는 방법 당신은 당신만 유효한 데이터 원본(한하거나 변경할 때마다 당신의 열).할 수 있는 확실히 아직도 할 Przemaas 의 접근 방식은 모든 데이터 바인딩에서 코드,하지만 내가 선호하도록 디자이너 손잡이 대부분의 작업을 수행합니다.

다른 팁

데이터 세트가없는 보고서 구축은 Ilist 객체를 사용 하므로이 멋진 튜토리얼을 따르십시오.

방법 : 웹 보고서를 배열 목록에 바인딩 https://documentation.devexpress.com/#xtrareports/customdocument3851

예, 가능합니다. 코드에서 필요한 데이터 바인딩을 정의 할 수 있습니다.

this.xrLabel1.DataBindings.Add(new DevExpress.XtraReports.UI.XRBinding("Text", data, "Name", "aaa"));
  • 여기 텍스트는 Xrlabel 클래스의 속성입니다. 나는 당신이 레이블의 텍스트로 바운드 필드를 표시한다고 가정합니다.
  • 데이터는 데이터가있는 객체입니다
  • "이름"은 표시하고 싶은 필드 이름입니다.
  • "AAA"는 디스플레이 형식이며 사용자 정의 형식으로 값을 표시하려는 경우에 적용됩니다.

기본적으로 XTRAREPORT의 데이터 파인딩은 표준 Windows Forms Databindings와 거의 같은 방식으로 행동합니다.

더 많은 지침이 필요하다는 것을 알려주세요

대체입니다 ..

rtpObject.DataSourceSchema = dataSet.GetXmlSchema();

이 세트 수정 자 속성을 공개적으로 수행하기 전에

InvoicePrinting_Rpt InvoicePrintingRpt = new InvoicePrinting_Rpt();//report object 

InvoicePrintingRpt.BillDetails.Report.DataSource = ds_Invoice;
InvoicePrintingRpt.Report.DataMember = ds_Invoice.Tables[0].TableName;
 //bellow third parameter as your column name.
InvoicePrintingRpt.lbl_BillHead.DataBindings.Add("Text", null, "BILL_DESCRIPTION");
InvoicePrintingRpt.lbl_Det_Date.DataBindings.Add("Text", null, "TRANSACTION_DATE");
InvoicePrintingRpt.lbl_ISINCode.DataBindings.Add("Text", null, "ISIN_CODE");

ReportViewer1.Report = InvoicePrintingRpt;//assign report obj   
ReportViewer1.Report.Name = "DevExpress_Reports.InvoicePrinting_Rpt";
ReportViewer1.DataBind(); //binding
XRBinding binding = new XRBinding("Text", ageingBindingSource, "ageing_contactsLookup.name");
this.xrLabel19.DataBindings.Add(binding);

// 또는 //

XRBinding binding = new XRBinding("Text", dbaDataSet, "transactions.fk_transitems_transactionid.name2");
this.xrTableCell1.DataBindings.Add(binding);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top