轉帖|使用教程|編輯:陳津勇|2019-07-25 15:22:24.007|閱讀 563 次
概述:通過本文,你將了解在使用ActiveReports報表控件進行在線報表設計,遇到需要設計出的報表中加入固定的字段,但每次需顯示的數據都不一樣時,怎樣動態綁定數據源的數據。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在使用ActiveReports報表控件進行在線報表設計的時候,經常會有這樣的需求:設計出的報表,需要加入了固定的字段,但每次需顯示的數據都不一樣,要怎么做才可以動態綁定數據源的數據呢?
其實,通過ActiveReports最新推出的Web端在線報表設計器可以很容易的實現動態綁定數據源操作。ActiveReports在線報表設計器主要使用場景包含:
本文將為您介紹如何使用ActiveReports的在線報表設計器動態綁定數據源。
1、 首先通過Visual Studio打開ActiveReports的Web端在線報表設計器,其存儲路徑如下:
2、 在控制層DataSetsController里進行一個數據源名稱和數據集字段的設置,簡單說就是創建表結構、表的命名和表對應的字段名稱。
實現代碼如下:
public ActionResult GetDataSetContent(string id) { DataSet data1= returndata(); ArData XmlJsonData = new ArData(); XmlJsonData.DataSet = new ArDataSet(); XmlJsonData.DataSet.Name = "DataSet1"; XmlJsonData.DataSet.Query = new ArQuery(); XmlJsonData.DataSet.Query.DataSourceName = "DataSource1"; XmlJsonData.DataSet.Fields = new ArField[data1.Tables[0].Columns.Count]; foreach (DataColumn drc in data1.Tables[0].Columns) { XmlJsonData.DataSet.Fields[drc.Ordinal] = new ArField(drc.ColumnName, drc.ColumnName, drc.Caption); } XmlJsonData.DataSource = new ArDataSource(); XmlJsonData.DataSource.Name = "DataSource1"; XmlJsonData.DataSource.ConnectionProperties = new ArConnectionProperties(); XmlJsonData.DataSource.ConnectionProperties.DataProvider = "DATASET"; string dataSet = JsonHelper.ObjTranJson(XmlJsonData); return new ContentResult { Content = dataSet, ContentType = "application/json" }; } public DataSet returndata() { DataTable dt = new DataTable(); dt.Columns.Add("產品編號"); dt.Columns.Add("產品名稱"); dt.Columns.Add("單價"); dt.Columns.Add("庫存量"); dt.Columns.Add("產地"); dt.Rows.Add("A001", "蘋果", 10, 300, "中國"); dt.Rows.Add("A002", "葡萄", 20, 200, "中國"); dt.Rows.Add("A003", "香蕉", 30, 400, "中國"); dt.Rows.Add("A004", "甘蔗", 10, 300, "中國"); dt.Rows.Add("A005", "荔枝", 20, 200, "中國"); dt.Rows.Add("A006", "芒果", 30, 400, "中國"); dt.Rows.Add("A007", "獼猴桃", 110, 300, "中國"); dt.Rows.Add("A008", "檸檬", 210, 200, "中國"); dt.Rows.Add("A009", "栗子", 320, 400, "中國"); dt.Rows.Add("A010", "火龍果", 100, 300, "中國"); dt.Rows.Add("A011", "青芒", 250, 200, "中國"); dt.Rows.Add("A012", "巴旦木", 320, 200, "中國"); dt.Rows.Add("A013", "土豆", 380, 400, "中國"); dt.Rows.Add("A014", "蘋果", 110, 300, "中國"); dt.Rows.Add("A015", "葡萄", 420, 200, "中國"); dt.Rows.Add("A016", "香蕉", 530, 400, "中國"); dt.Rows.Add("A017", "土豆", 380, 400, "中國"); dt.Rows.Add("A018", "蘋果", 110, 300, "中國"); dt.Rows.Add("A019", "葡萄", 420, 200, "中國"); dt.Rows.Add("A020", "香蕉", 530, 400, "中國"); dt.Rows.Add("A021", "蘋果", 10, 300, "中國"); dt.Rows.Add("A022", "葡萄", 20, 200, "中國"); dt.Rows.Add("A023", "香蕉", 30, 400, "中國"); dt.Rows.Add("A024", "甘蔗", 10, 300, "中國"); dt.Rows.Add("A025", "荔枝", 20, 200, "中國"); dt.Rows.Add("A026", "芒果", 30, 400, "中國"); DataSet temp = new DataSet(); temp.Tables.Add(dt); return temp; } [Route("list")] [HttpGet] public ActionResult GetDataSetsList() { var dataSetsService = HttpContext.GetServiceFromContext\(); //var dataSetsList = dataSetsService.GetDataSetsList(); //return Json(dataSetsList, JsonRequestBehavior.AllowGet); return Json(new object[] { new { Id ="test", Name = "添加數據" } }, JsonRequestBehavior.AllowGet); }
3、 需要對創建好的報表進行數據綁定,這里需要注意的是:在進行數據綁定時,務必在Startup.cs里進行對應的動態數據源綁定,不然在報表預覽時會報錯。
主要實現代碼如下:
app.UseReporting(config =\> { config.UseFileStore(ResourcesRootDirectory); config.LocateDataSource = args =\> { DataSetsController TemCon = new DataSetsController(); DataSet data1 = TemCon.returndata(); return data1; }; });
4、完成上述步驟,即可實現在ActiveReports的在線報表設計器中動態綁定數據源,下面我們來看看具體的運行樣式:
想要獲取更多 ActiveReports 資源的朋友,請點這里。
想要購買正版 ActiveReports 產品的朋友,請。
有關慧都科技更多的精彩內容,請關注下方的微信公眾號↓↓↓
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: