如何实现列表自动刷新原创
25人赞赏了该文章
2,770次浏览
编辑于2019年12月09日 10:50:41
部分客户希望动态表单,单据或者列表自动刷新。或者放置超时自动退出登录。目前Cloud可以实现通过插件定时由客户端向服务端发送请求,然后服务端再做刷新或者其他操作。
需要注意的是,目前此方案不支持报表,包括直接SQL账表、简单账表等。如果是报表相关需要,可以转成动态表单实现。
具体插件代码如下,下面的方案是注册到需要刷新的单据的列表插件上。刷新的间隔通过para["delay"] = "300000"指定,示例中是300000毫秒,建议刷新间隔是5-10分钟。
[Description("自动刷新列表")]
public class AutoRefreshListPlugIn : AbstractListPlugIn{
private const string TestKey = "TestKey";
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
KeepAlive();
}
public void KeepAlive()
{
JSONObject para = new JSONObject();
para["key"] = TestKey;
para["eventName"] = "CustomEvents";
var data = new JSONObject();
para["data"] = data;
data["refreshData"] = DateTime.Now;
para["delay"] = "300000";
this.View.AddAction(JSAction.FireCustomRequest, para);
}
public override void CustomEvents(CustomEventsArgs e)
{
base.CustomEvents(e);
if (e.Key.EqualsIgnoreCase(TestKey))
{
var data = JSONObject.Parse(e.EventArgs);
if (data != null && data.ContainsKey("refreshData"))
{
this.View.Refresh();
}
}
}
}
赞 25
25人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读
您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!
请选择打赏金币数 *
10金币20金币30金币40金币50金币60金币
可用金币: 0