2013-04-26 15 views
1

내 데이터 소스로 클래스 정보를 보고서에 첨부하고 있습니다.devexpress xtrareport 여러 목록 데이터 소스에 바인딩

class Detail 
{ 
public string Name { get; set; } 
public string State { get; set; } 
public string City { get; set;} 
public List<Transaction> tran { get; set; } 
} 
class Transaction 
{ 
public string TransactionDate { get; set; } 
public string TransactionDescription { get; set; } 
} 

내 검색어에는 목록으로 전송합니다.

public List GetAccount(string account) { 
List detail = new List(); 
sql .... 
foreach (DataRow dr in dt.Rows) 
{ 
detail.Add(new Detail() 
{ 
    Name= dr["name"].Equals(DBNull.Value) ? string.Empty : dr["name"].ToString(), 
..... 
    tran = GetTransactionDetail(account)// calling a list 

}); 
} 
return detail; 
} 

public List<Transaction> GetTransactionDetail(string account) 
{ 
.... 
} 

과 내가 거래 내역의 목록을해야하지만 난 첫 번째 행을 얻을 보고서에서 Form1.cs를

XtraReport1 rep = new XtraReport1(); 
printControl1.PrintingSystem = rep.PrintingSystem; 
var ls = query.GetAccount(accountNo); 
rep.DataSource = ls; 
rep.CreateDocument(); 

에서

. 감사합니다.

답변

0

보고서 디자인 방식에 따라 다릅니다. 일반적으로 XRTable을 사용하는 경우 모든 세부 정보가 표시되도록 별도의 밴드 (DetailReport)가 필요합니다.

0

귀하는 DataSetquery.GetAccount(accountNo)을 사용해야합니다. DataTable 다음과 같이 시도하십시오. 그것은 나를 위해 작동합니다.

XtraReport1 rep = new XtraReport1(); 
printControl1.PrintingSystem = rep.PrintingSystem; 
var ds = new ds("TestDataSet"); 
var ls = query.GetAccount(accountNo); 
ds.Tables.Add(ls); 
rep.DataSource = ds; 
rep.DataMember = ls.TableName; 
rep.CreateDocument(); 
관련 문제