繁体   English   中英

使用TemplateField和UserControl的自定义GridView

[英]Custom GridView with TemplateField and UserControl

我有一个自定义的gridview实现,该实现扩展了ASP.Net Gridview来执行我的应用程序中特定的一些其他逻辑。

我已经将必需的控件寄存器添加到了web.config文件中,并将控件添加到了这样的UserControl中。

<%@ Register TagPrefix="uc1" Namespace="MyApp.CustomControls" %>
<uc1:CustomGridView ID="userlist" runat="server">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:CheckBox ID="ckbIsDefault" runat="server"/>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="UserName" SortExpression="UserName" />
        <asp:BoundField DataField="FullName" SortExpression="FullName" />
    </Columns>
</uc1:CustomGridView>

当我查看由Visual Studio为用户控件自动生成的.designer.cs文件时,它具有其中CheckBox元素的声明。 当我使用ASP.Net的gridview而不是自定义的gridview时,不会发生这种情况。

该应用程序可以编译并正常运行。 但是我只是对不必要的字段声明感到恼火。 即使我手动删除了该字段,但在ASCX文件中进行任何更改后,该字段仍会一直显示。

我在自定义gridview实现中是否缺少属性或其他内容?

遗憾的是没人能给我解决这个问题的方法。 但是经过两天的嘲笑之后,发现了问题。 这是我添加到CustomGridView类的属性。

ParseChildren(true,DefaultProperty = "Columns")

但是不知道为什么要删除它才能解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM