我得到一个有列的Excel电子表格,但当我单击网格上的Excel图标时,没有数据。
我在CR306030页面上放置了一个网格,该网格与一个自定义数据访问控制视图相关联,该视图与页面的CRActivity记录相关联。我已经将SkinID设置为Inquire,并将AllowImport设置为true。我的Graph扩展类中的视图如下所示:
[PXImport(typeof(CRActivity))]
public PXSelect<MyDac,
Where<MyDac.activityNoteID,
Equal<Current<CRActivity.noteID>>>> MyDacView;我不确定我错过了什么。我正在尝试导出网格中的数据,所以,我可能离得太远了。
蒂娅!
发布于 2019-01-30 16:08:51
添加导出按钮是所有应该需要的。将SkinID设置为inquire将为您完成此操作。
您似乎遇到了一种不常见的情况,所以我建议回滚试验性的解决方案,比如添加不需要的导入功能,以防您的实现出现错误,导致与导出功能冲突。
我怀疑下一个问题是一种安全/权利问题,或者是一个明确的禁止导出记录的调用。删除不必要的代码并替换您正在使用的DAC可能有助于暴露根本原因,因为某些特定实体可能已被安全锁定,而其他实体则没有。
如果您熟悉Acumatica web服务,那么值得一试,看看web服务是否可以检索网格中的记录。如果他们不能,那么这就指向了安全/权利问题。
发布于 2019-01-31 06:45:27
这是因为我在FieldSelecting()事件处理程序中有一个update()调用。由于某种原因,这导致导出停止工作。这给我带来了另一个问题,我将在另一个问题中发布,但是,导出问题已经解决。下面是我的代码在导致问题的扩展图中的样子:
protected virtual void CRActivity_UsrCustomField_FieldSelecting(PXCache cache, PXFieldSelectingEventArgs e)
{
CRActivity activity = (CRActivity) e.Row;
CRActivityExt activityExt = activity.GetExtension<CRActivityExt>();
// Some code here.
e.ReturnValue = TotalValue;
activityExt.UsrCustomField = TotalValue;
Base.Events.Update(activity);
}为了让导出正常工作,我将其更改为:
protected virtual void CRActivity_UsrCustomField_FieldSelecting(PXCache cache, PXFieldSelectingEventArgs e)
{
CRActivity activity = (CRActivity) e.Row;
CRActivityExt activityExt = activity.GetExtension<CRActivityExt>();
// Some code here.
e.ReturnValue = TotalValue;
//activityExt.UsrCustomField = TotalValue;
//Base.Events.Update(activity);
}https://stackoverflow.com/questions/54424639
复制相似问题