二开案例.列表插件.列表单元格显示提示信息(Tips)
【应用场景】
列表单元格显示提示信息。
【案例演示】
采购订单列表,给单据编号列设置提示信息。
【实现步骤】
<1>编写列表插件,代码如下。
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.JSON; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Util; using System.ComponentModel; using System.Text; namespace Jac.XkDemo.BOS.Business.PlugIn { /// <summary> /// 【列表插件】列表单元格显示提示信息 /// </summary> [Description("【列表插件】列表单元格显示提示信息"), HotUpdate] public class ShowTipsListPlugIn : AbstractListPlugIn { public override void AfterGetData() { base.AfterGetData(); SetTips(); } private void SetTips() { var fieldKey = "FBillNo";// 字段标识不要转大写 var jsonArray = new JSONArray(); for (var i = 0; i < this.ListView.CurrentPageRowsInfo.Count; ++i) { var dataRow = this.ListView.CurrentPageRowsInfo[i].DataRow; var tipsInfo = new StringBuilder(); if (dataRow.ColumnContains(fieldKey)) { tipsInfo.Append("单据编号:").Append(dataRow[fieldKey]).Append(";"); } if (dataRow.ColumnContains("FSupplierId_Ref")) { tipsInfo.Append("供应商:").Append(((DynamicObject)dataRow["FSupplierId_Ref"])["Name"]).Append(";"); } if (dataRow.ColumnContains("FMaterialId_Ref")) { tipsInfo.Append("物料:").Append(((DynamicObject)dataRow["FMaterialId_Ref"])["Name"]).Append(";"); } if (dataRow.ColumnContains("FQTY")) { tipsInfo.Append("采购数量:").Append(dataRow["FQTY"]).Append(";"); } var tipValues = new JSONObject(); tipValues["E"] = true; tipValues["T"] = tipsInfo.ToString(); // var rowIndex = i + 1;// 行号索引从1开始 var tip = new JSONObject(); tip[rowIndex.ToString()] = tipValues; // var jsonObj = new JSONObject(); jsonObj["key"] = fieldKey; jsonObj["row"] = rowIndex; jsonObj["Tooltip"] = tip; jsonArray.Add(jsonObj); } this.View.GetControl("FList").InvokeControlMethod("UpdateFieldStates", jsonArray); } private void SetTips2() { var fieldKey = "FBillNo";// 字段标识不要转大写 var entryGrid = this.View.GetControl<EntryGrid>("FList"); for (var i = 0; i < this.ListView.CurrentPageRowsInfo.Count; ++i) { var rowIndex = i + 1;// 行号索引从1开始 var dataRow = this.ListView.CurrentPageRowsInfo[i].DataRow; var tipsInfo = new StringBuilder(); if (dataRow.ColumnContains(fieldKey)) { tipsInfo.Append("单据编号:").Append(dataRow[fieldKey]).Append(";"); } if (dataRow.ColumnContains("FSupplierId_Ref")) { tipsInfo.Append("供应商:").Append(((DynamicObject)dataRow["FSupplierId_Ref"])["Name"]).Append(";"); } if (dataRow.ColumnContains("FMaterialId_Ref")) { tipsInfo.Append("物料:").Append(((DynamicObject)dataRow["FMaterialId_Ref"])["Name"]).Append(";"); } if (dataRow.ColumnContains("FQTY")) { tipsInfo.Append("采购数量:").Append(dataRow["FQTY"]).Append(";"); } var tip = new TooltipEntity(); tip.E = true; tip.T = tipsInfo.ToString(); entryGrid.SetCellTooltipForList(fieldKey, tip, rowIndex); } } } }
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,注册列表插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开采购订单列表,将鼠标移动到单据编号列上,效果如下图。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.列表插件.列表单元格显示提示信息(Tips)
【应用场景】列表单元格显示提示信息。【案例演示】采购订单列表,给单据编号列设置提示信息。【实现步骤】<1>编写列表插件,代码如下。usi...
点击下载文档
本文2024-09-23 03:58:09发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162255.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章