轉(zhuǎn)帖|行業(yè)資訊|編輯:龔雪|2020-11-04 10:46:24.427|閱讀 248 次
概述:亞洲暢銷的.NET報表控件,20萬用戶的選擇,可在應(yīng)用程序中生成各種報表!本文將為大家介紹如何使用ActiveReports在線報表設(shè)計器動態(tài)綁定數(shù)據(jù)源,歡迎下載最新版體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在使用 ActiveReports報表控件進行在線報表設(shè)計的時候,經(jīng)常會有這樣的需求:設(shè)計出的報表,需要加入了固定的字段,但每次需顯示的數(shù)據(jù)都不一樣,要怎么做才可以動態(tài)綁定數(shù)據(jù)源的數(shù)據(jù)呢?
其實,通過 ActiveReports 最新推出的Web端在線報表設(shè)計器可以很容易的實現(xiàn)動態(tài)綁定數(shù)據(jù)源操作。ActiveReports在線報表設(shè)計器主要使用場景包含:
本文將為您介紹如何使用 ActiveReports 的在線報表設(shè)計器,動態(tài)綁定數(shù)據(jù)源。
1、 首先通過Visual Studio打開 ActiveReports 的Web端在線報表設(shè)計器,其存儲路徑如下:
2、 在控制層DataSetsController 里進行一個數(shù)據(jù)源名稱和數(shù)據(jù)集字段的設(shè)置,簡單說就是創(chuàng)建表結(jié)構(gòu)、表的命名和表對應(yīng)的字段名稱。
實現(xiàn)代碼如下:
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("產(chǎn)品編號"); dt.Columns.Add("產(chǎn)品名稱"); dt.Columns.Add("單價"); dt.Columns.Add("庫存量"); dt.Columns.Add("產(chǎn)地"); 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\<IDataSetsService\>(); //var dataSetsList = dataSetsService.GetDataSetsList(); //return Json(dataSetsList, JsonRequestBehavior.AllowGet); return Json(new object[] { new { Id ="test", Name = "添加數(shù)據(jù)" } }, JsonRequestBehavior.AllowGet); }
3、 需要對創(chuàng)建好的報表進行數(shù)據(jù)綁定,這里需要注意的是:在進行數(shù)據(jù)綁定時,務(wù)必在 Startup.cs 里進行對應(yīng)的動態(tài)數(shù)據(jù)源綁定,不然在報表預(yù)覽時會報錯。
主要實現(xiàn)代碼如下:
app.UseReporting(config =\> { config.UseFileStore(ResourcesRootDirectory); config.LocateDataSource = args =\> { DataSetsController TemCon = new DataSetsController(); DataSet data1 = TemCon.returndata(); return data1; }; });
4、 完成上述步驟,即可實現(xiàn)在 ActiveReports 的在線報表設(shè)計器中動態(tài)綁定數(shù)據(jù)源,下面我們來看看具體的運行樣式:
5、 示例資源下載:
ActiveReports 是一款專注于 .NET 平臺的報表控件,全面滿足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平臺下報表設(shè)計和開發(fā)工作需求,作為專業(yè)的報表工具為全球超過 300,000 開發(fā)人員提供了全面的報表開發(fā)服務(wù)。
本文轉(zhuǎn)載自
購正版ActiveReports報表控件授權(quán)限時優(yōu)惠!最高立減萬元!點擊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: