感谢该爱好者要求我回复问题, 问题描述为 "我在及时库存查询加了一个按钮,选定行后出发操作,但是该怎么获取到当前选定行?"(地址为 https://vip.kingdee.com/questions/57674/answers/221261)。
我想解答问题,首先锁定了 即时库存的前端业务位置,
用HTTP监控, 发现FormId为"STK_InventoryQuery" 如下图
双击下任意行, 其界面为
对应进去相关的BOS页面, 发现界面如下
确定FormId 为"STK_InventoryQuery", 两者FormId是一样的,这就说明了,我没找错。
看回其源代码,是在OnInitialize函数的末尾调用了事件 AddOnivListForm函数,其部分(加载汇总序时簿)的代码如下
其实在 HTTP监控中也得到了验证,如下图
现在我们假定是要在 子窗口 (上方)STK_InvSumQuery 增加个按钮,根据选中的行 然后显示 物料内码,如下:
要在STK_InvSumQuery 新增按钮, 然后挂插件,是插件AbstractListPlugIn,代码如下,
case "LDQ_TBBUTTON":
ListSelectedRowCollection selectedRowsBy = this.ListView.CanDealWithRows ;
StringBuilder str = new StringBuilder("");
for (int i = 0; i < selectedRowsBy.Count(); i++ )
{
string sbtr1 = selectedRowsBy[i].DataRow["FMaterialId_Id"].ToString();
StringBuilder str1 = new StringBuilder(sbtr1);
str.Append(str1);
str.Append(", ");
}
this.View.ShowMessage(str.ToString());
break;
即可完成了。
谨感觉帮助我的ZZQuan老师。
推荐阅读