cloud7.1最新版本1.在采购订单上做了一个列表插件。简单来说就是把某个值,在打开列表的时候实时取到列表中的一个字段“剩余交付数量”里面。“剩余交付数量”字段数据库中并没有值。
2.用缺省方案,赋值生效。
3.换用其它过滤方案,赋值失效。
///
/// 此事件,在列表加载完毕数据,逐行、逐字段显示到表格中时执行
///
///
///
/// 在此事件中,格式化某一个字段的显示值
///
public override void FormatCellValue(FormatCellValueArgs args)
{
base.FormatCellValue(args);
//Dictionary remainPair.ToDictionary
if (args.Header.FieldName.EqualsIgnoreCase("F_PIQE_RemainUnDel"))
{
string entryId = "";
if ((args.DataRow as Kingdee.BOS.Core.List.ListRow).DynamicObject.Contains("t3_FENTRYID"))
{
entryId = (args.DataRow as Kingdee.BOS.Core.List.ListRow).DynamicObject[24].ToString();
}
else { entryId = (args.DataRow as Kingdee.BOS.Core.List.ListRow).DynamicObject[17].ToString(); }
if (remain.ContainsKey(entryId) && (!entryId.IsNullOrEmptyOrWhiteSpace()))
{
if (args.Value == null) return;
//换了过滤方案后,此句生效,并能取到值。但是最后在列表里面字段仍然没有值
args.FormateValue = remain[entryId] == 0 ? "" : remain[entryId].ToString();
}
}
//this.ListView.UpdateView();
}
请问问什么换过滤方案后,语句会不起效?是否后续的事件会重新给列表更新值呢?
推荐阅读