单据体的普通字段,如文本字段、基础资料字段,在设置了如下属性之后,也可以显示为链接,用户点击此链接,触发EntryButtonCellClick事件。
属性说明: 锁定性:需要设置为锁定状态,不可编辑 列表显示控件:链接 单据应用列表显示控件:勾选 运行效果:
如下示例代码,演示在用户点击单据体文本字段的超链接时,打开其他单据: //*********************************************** /// <summary>/// 单据体表格中链接按钮点击事件/// </summary>/// <param name="e"></param>/// <remarks>/// 案例背景:/// 单据体字段,有一个销售订单编号字段;/// 字段锁定,列表样式为链接,单据应用列表样式/// 需要在点击此字段时,打开销售订单/// </remarks>public override void EntryButtonCellClick(EntryButtonCellClickEventArgs e){ if (e.FieldKey.EqualsIgnoreCase("F_JD_EntryText")){ // 取文本字段中存储的销售订单单据编号string billNo = this.Model.GetValue("F_JD_EntryText", e.Row) as string; // 根据单据编号,到数据库中读取到销售订单单据内码//using Kingdee.BOS.Core.SqlBuilder;QueryBuilderParemeter queryParam = new QueryBuilderParemeter();queryParam.FormId = "SAL_SaleOrder";// using Kingdee.BOS.Core.Metadata;queryParam.SelectItems.Add(new SelectorItemInfo("FID"));queryParam.FilterClauseWihtKey = string.Format(" FBillNo = '{0}' ", billNo);// using Kingdee.BOS.ServiceHelper;var objs = QueryServiceHelper.GetDynamicObjectCollection(this.Context, queryParam);if (objs != null && objs.Count > 0){ long billId = Convert.ToInt64(objs[0][0]); // 显示销售订单维护界面BillShowParameter showParam = new BillShowParameter();showParam.FormId = "SAL_SaleOrder";showParam.Status = OperationStatus.EDIT;showParam.PKey = billId.ToString(); this.View.ShowForm(showParam);}}}