将 DevExpress FormLayout 嵌套在 formview 项模板中

问题描述 投票:0回答:1

我正在处理一个项目的新部分,他们希望附加账单的协议的详细信息显示在 WebForms 项目元素中的一个元素内。我遇到以下错误屏幕

enter image description here

由于我不需要完整表单视图的编辑功能,因此我尝试通过在项目模板内嵌套 Dev Express ASPX 表单布局元素,调用隐藏字段的值 (id="StorageAgreementId" )以填充排列到布局字段内的布局中的标签集合。

在通过利用对象数据源获取存储账单信息后,该表单布局应该调用数据库,该对象数据源利用标记中 FormLayout 之后直接在项目模板内部定义的控件。以下是标记:

Markup for the parts I find relevant to the functionality

到目前为止,这对我来说都是有意义的,当我没有为要进行数据绑定的元素设置绑定时,表单布局的显示方式正是我想要的,所以我知道这不是布局本身。我采取的下一步是选择每个标签并通过任务上下文菜单应用数据绑定,如下图所示:

image of the ItemTemplate as well as the cell of the table in which I placed the FormLayout and the ODS it is referencing

这就是错误发生的时候。我觉得奇怪的是,当协议是表单布局中显示的唯一字段时,不会发生错误(通过注释掉并消除有问题的部分进行测试)

我主要是一个 MVC 人员,所以我不确定缺少什么,或者我是否需要在代码隐藏(VB.Net)中做一些特殊的事情,特别是因为我放在 editItemTemplate 中的 DataBound 组合框工作得很好,但是它不需要控件来运行无参数查询

该项目的DevExpress版本是17.1

asp.net vb.net webforms devexpress
1个回答
0
投票

这可能不是解决问题的最佳解决方案,但它确实对我有用,所以我会回答这个问题,以防有人从事此类工作,因为我之前无法找到答案。

我解决这个问题的方法是在项目模板内创建一个空的 formview 元素。我向 Formview 添加了一个新的项目模板,如下所示:

                        
                        <asp:FormView ID="FormView1" runat="server" DataSourceID="odsStorageAgreement" DataKeyNames="Id">
                            <ItemTemplate>
                                <dx:ASPxFormLayout ID="StorageAgreementDisplay" runat="server" ColCount="3" DataSourceID="odsStorageAgreement" EnableTheming="True" Theme="Office2010Silver">
                                   <insert contents here>
                               </dx:ASPxFormLayout>
                            </ItemTemplate>
                        </asp:FormView>

在设计视图中它看起来像这样:

Design View Solution

我肯定会关注是否有人提出自己的解决方案,因为我还没有愚蠢到认为自己是第一个遇到这个问题的人。如果您有可能不那么麻烦的替代方案,请告诉我。这是程序设计者本人以前没有遇到过的问题,所以我绝对愿意以某种方式改进事情

© www.soinside.com 2019 - 2024. All rights reserved.