轉帖|使用教程|編輯:龔雪|2017-02-03 11:37:02.000|閱讀 1080 次
概述:
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
1.建立一個WinForm窗體,從工具箱中拉入控件
SimpleButton,DocumentViewer,SplitContainerControl,LabelControl,TextEdit,GroupControl
2. 創建一個Devexpress XtraReport報表文件
3. 在報表中建立一個ReportHeader
4. 右鍵單擊報表文件空白區域,添加一個從報表DetailReport
5. 在ReportHeader 拉入一個XRLabel 修改Text屬性為:主從報表,并在Detail和DetailReport區分別拉入一個XRTable控件(XRTable默認三列)
6. 創建數據源表
7. 處理相對應的主從表關系綁定
a,按鈕事件
private void btnShowReport_Click(object sender, EventArgs e) { DataSet ds = BindRpt(); MasterDetailRpt Rpt = new MasterDetailRpt(ds); this.documentViewer1.DocumentSource = Rpt; Rpt.CreateDocument(); }
b,獲取數據源,并設置兩個表主從關系。
private DataSet BindRpt() { DataSet ds = new DataSet(); try { //連接數據源,給Rpt綁定數據源,包含兩個數據表 SqlConnection con = new SqlConnection("Data Source=(local);Integrated Security=SSPI;Initial Catalog=ReportDeom"); SqlDataAdapter adapter; con.Open(); //表1 SqlCommand cmd = new SqlCommand("SELECT * FROM Dept where dept_name=@dept_name OR @dept_name='' ", con); SqlParameter[] paras = new SqlParameter[]{ new SqlParameter("@dept_name",txtdept_name.Text) }; cmd.Parameters.AddRange(paras); adapter = new SqlDataAdapter(cmd); adapter.Fill(ds, "Dept"); //表2 SqlCommand cmd2 = new SqlCommand("select * FROM Users where dept_id in (select dept_id from Dept where dept_name=@dept_name OR @dept_name='') ", con); SqlParameter[] paras2 = new SqlParameter[]{ new SqlParameter("@dept_name",txtdept_name.Text) }; cmd2.Parameters.AddRange(paras2); adapter = new SqlDataAdapter(cmd2); adapter.Fill(ds, "User"); con.Close(); //給數據集建立主外鍵關系(主從表) DataColumn ParentColumn = ds.Tables["Dept"].Columns["dept_id"]; DataColumn ChildColumn = ds.Tables["User"].Columns["dept_id"]; DataRelation Rel = new DataRelation("RelationColumn", ParentColumn, ChildColumn); ds.Relations.Add(Rel); } catch (Exception ex) { throw ex; } return ds; }
c,綁定數據到報表文件
public MasterDetailRpt(DataSet ds) { InitializeComponent(); //綁定主表 this.DataSource = ds; this.DataMember = "Dept"; this.xrTableCell3.DataBindings.Add("Text", ds, "Dept.dept_name"); DetailReport.DataMember = "RelationColumn"; //綁定從表 DetailReport.DataSource = ds; this.xrTableCell1.DataBindings.Add("Text", ds, "RelationColumn.user_id"); this.xrTableCell2.DataBindings.Add("Text", ds, "RelationColumn.username"); }
(參考來源:cnblogs-Mr.Ming)
想要了解更多DevExpress使用技巧?海量視頻課程以及最專業的DevExpress培訓盡在。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn