关于列表数据问题:换了过滤方案后,FormatCellValue赋值失败
金蝶云社区-云社区用户nW429608
云社区用户nW429608
0人赞赏了该文章 1,665次浏览 未经作者许可,禁止转载编辑于2018年04月09日 17:50:45

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

请问问什么换过滤方案后,语句会不起效?是否后续的事件会重新给列表更新值呢?