二开案例.列表插件.列表单元格显示提示信息(Tips)

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.列表插件.列表单元格显示提示信息(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...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息