单据体的普通字段,如文本字段、基础资料字段,在设置了如下属性之后,也可以显示为链接,用户点击此链接,触发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);
}
}
}
如有重复,请联系本人删除!
推荐阅读