Stimulsoft Web版中如何动态修改Json数据源的Url

在Stimulsoft Report(目前我使用的是2022.1.2版本)中,可以支持从JSON文件或者在线URL作为数据源。

当设计完报表之后,一般要连接正式的服务器URL,所以我希望能动态的修改这个URL。

我照着官方示例写了如下代码,虽然能够工作,但我觉得不是很简洁。

// 从Json获取数据        
StiJsonDatabase jsonDatabase = new StiJsonDatabase
{
    Alias = "JSON",
    Key = "",
    Name = "JSON",
    PathData = "myPath?action=ExpenseByStore&CompanyCode=101&CurrentYear=2022"
};
report.Dictionary.Databases.Clear();
report.Dictionary.Databases.Add(jsonDatabase);

后来从官方支持获得如下写法,果然简洁!不得不说Stimulsoft的中文资料太少,这也是我开始在博客写下一些填过坑的原因。

var newUrl = "myPath?action=ExpenseByStore&CompanyCode=101&CurrentYear=2022";
(report.Dictionary.Databases[0] as StiJsonDatabase).PathData = newUrl;

另外呢,今天收到新版的更新通知了,感兴趣的小伙伴可以下载更新了。

Loading

使用json2.js解决IE6、7、8不能使用jQuery JSON.stringify函数的问题

周末捣腾JSON提交数据,使用jQuery的JSON.stringify函数,使用Google Chrome浏览器、百度浏览器调试都正常,今天用户说IE和360浏览器提交不了,调试了一下,发现使用IE内核的时候,语句JSON.stringify调用处报错:JSON未定义。百度了一下,找到了解决方案,特此记录下来,方便自己以后查找。

解决方案:

https://github.com/douglascrockford/JSON-js (个别地区需要翻墙,请自备梯子),使用其中的 json2.js 作为兼容。

这个JS中的函数将JSON对象转换成JSON字符串,专门解决 IE6、7、8不能使用 JSON.stringify 函数的问题。

在head之间,添加如下调用语句

<!--[if lt IE 9]>
    <script src="your path/json2.js"></script>
<![endif]-->

这样IE低版本下的jQuery JSON.stringify 便可以正常使用!

Loading