【发布时间】:2017-07-11 17:43:31
【问题描述】:
在 Acumatica 中,我想为物料清单屏幕创建一个 TreeView。 This is what the screen currently looks like 我需要帮助填充网格左侧看到的树。我希望树的最高值是 BOM 项目,然后构成该项目的材料将在每个项目的下方打开。到目前为止,这是我的代码。
<DataTrees>
<px:PXTreeDataMember TreeKeys="BOMID" TreeView="Nodes" />
<px:PXTreeDataMember TreeView="_AMBOMTree_Tree_" TreeKeys="OberNbr" />
<px:PXTreeDataMember TreeKeys="Key" TreeView="CacheTree" />
<px:PXTreeDataMember TreeKeys="Key" TreeView="EntityItems" />
</DataTrees>
这是针对数据树本身的。
<px:PXTreeSelector CommitChanges="True" SuppressLabel="False" ID="edGraphType" runat="server" DataField="GraphType" PopulateOnDemand="True"
ShowRootNode="False" TreeDataSourceID="ds" TreeDataMember="CacheTree" InitialExpandLevel="0" MinDropWidth="297" MaxDropWidth="500"
TextField="Name" Size="XL">
<Images>
<ParentImages Normal="tree@Folder" Selected="tree@FolderS" />
<LeafImages Normal="tree@Screen" Selected="tree@Screen" />
</Images>
<DataBindings>
<px:PXTreeItemBinding DataMember="CacheTree" TextField="Name" ValueField="SubKey" ImageUrlField="Icon" />
</DataBindings>
</px:PXTreeSelector>
这里是 TreeSelector。现在我把它从另一个屏幕上拉下来,想知道这一切是如何运作的。由于我希望该项目显示在顶层,因此请转到构成该项目的材料。如果选择了一个项目,我希望填充网格。我知道 DataField = GraphType 不正确,因为这是从不同的屏幕中提取的,但我不知道应该在这里的值。
<px:PXTreeView ID="tree" runat="server" DataSourceID="ds" Height="500px" PopulateOnDemand="True" ShowRootNode="False"
ExpandDepth="1" AutoRepaint="true" Caption="Tree" AllowCollapse="true" PreserveExpanded="true">
<ToolBarItems>
<px:PXToolBarButton Tooltip="Reload Tree" ImageKey="Refresh">
<AutoCallBack Target="tree" Command="Refresh" />
</px:PXToolBarButton>
</ToolBarItems>
<AutoCallBack Target="grid" Command="Refresh" ActiveBehavior="True">
<Behavior RepaintControlsIDs="gridMatl" />
<Behavior RepaintControlsIDs="gridStep" />
<Behavior RepaintControlsIDs="gridTool" />
<Behavior RepaintControlsIDs="gridOvhd" />
</AutoCallBack>
<AutoSize Enabled="True" MinHeight="300" />
<DataBindings>
<px:PXTreeItemBinding DataMember="Nodes" TextField="Name" ValueField="AssignmentRouteID" ImageUrlField="Icon" />
</DataBindings>
</px:PXTreeView>
那么这就是树视图本身。
如果有人可以帮我编写这棵树,那将是很棒的,或者至少可以为我指明正确的方向。
【问题讨论】:
-
值得一提的是,这不是标准的 Acumatica 页面
-
确实这不是标准页面。这是一个自定义页面。我只是不确定 TreeView 在 Acumatica 中的工作原理或至少在选择时填充数据。
标签: c# tree treeview customization acumatica