k3cloud簡單帳表實現單據穿透

單據體的普通字段,如文本字段、基礎資料字段,在設置瞭如下屬性之後,也可以顯示爲鏈接,用戶點擊此鏈接,觸發EntryButtonCellClick事件。

 


wKiom1gOrw-hvb-sAAAki1OSjTw630.png-wh_50

屬性說明:
鎖定性:需要設置爲鎖定狀態,不可編輯
列表顯示控件:鏈接
單據應用列表顯示控件:勾選

運行效果:

 

 


wKioL1gOrx_BCjK0AAA6rPFWN5c063.png-wh_50

如下示例代碼,演示在用戶點擊單據體文本字段的超鏈接時,打開其他單據:

//***********************************************

/// <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);
}
}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章