报表单击列表某字段,弹出相应的单据---废话不多说,代码安排原创
金蝶云社区-爱孤独又爱你
爱孤独又爱你
97人赞赏了该文章 529次浏览 未经作者许可,禁止转载编辑于2023年10月29日 13:37:17

单据体的普通字段,如文本字段、基础资料字段,在设置了如下属性之后,也可以显示为链接,用户点击此链接,触发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);

}

}

}


赞 97