一种向导式提示语应用实现

场景需求:
1、根据某种操作正常提示,提示内容需要先后顺序执行某种其他逻辑,如:无法执行该操作,请按下面分步执行,请先执行1、......2、......3、再次执行该操作
2、提示语中含有引导式提示语,如:执行成功,点击下面链接可直接查看执行结果
等其他场景需求,这种简单场景可方便增加用户引导式友好操作,无需实现过多的向导界面,也由于标准产品的提示语中,无法执行在提示语文本中插入链接或者按钮功能,所以需要借助向导式提示语应用功能实现
效果图:




二开插件样例:
public class TestMsgInnerInfoPlugin : AbstractDynamicFormPlugIn
{
private List<MsgInnerInfo> lstinnerinfo = null;
public override void ButtonClick(ButtonClickEventArgs e)
{
if (e.Key.EqualsIgnoreCase("FBtTestMsg"))
{
this.lstinnerinfo = new List<MsgInnerInfo>();
this.lstinnerinfo.Add(new MsgInnerInfo("link1", "删除角色001"));
this.lstinnerinfo.Add(new MsgInnerInfo("link2", "删除角色002"));
this.lstinnerinfo.Add(new MsgInnerInfo("link3", "重新删除用户"));
this.View.ShowMessage(new Queue<MsgInnerInfo>(this.lstinnerinfo), "删除[test]用户失败,该用户已被角色001,角色002引用,请先删除角色再选择重新操作", MessageBoxType.Notice);
}
}
public override void MsgInnerControlEvent(MsgInnerControlEventArgs e)
{
base.MsgInnerControlEvent(e);
if (this.lstinnerinfo == null) return;
if (e.key.EqualsIgnoreCase("link1") || e.key.EqualsIgnoreCase("link2"))
{
//这里执行正确逻辑
//最后的提示
MsgInnerInfo linkm = this.lstinnerinfo.Where(x => x.key.EqualsIgnoreCase(e.key)).FirstOrDefault();
this.View.ShowMessage(string.Format("删除{0}成功。", linkm.caption), MessageBoxOptions.OK, new Action<MessageBoxResult>((result) =>
{
if (this.lstinnerinfo != null)
{
linkm.enabled = true;
JSONArray array = new JSONArray();
array.Add(KDObjectConverter.SerializeObject(linkm));
this.View.AddAction("SetMesTipBarInnerControlState", array);
this.View.SendDynamicFormAction(this.View);
}
})一种向导式提示语应用实现
场景需求:1、根据某种操作正常提示,提示内容需要先后顺序执行某种其他逻辑,如:无法执行该操作,请按下面分步执行,请先执行1、......2...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



