0

我正在接受并扩展 GridView 控件:

public class MightyGridView : GridView
{
    // ...
}

我想在 GridView 正上方添加一些按钮:

    protected override void OnRowCreated(GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.Header)
        {
            Parent.Controls.AddAt(Parent.Controls.IndexOf(this) - 1, new LiteralControl("<div>"));
            Parent.Controls.AddAt(Parent.Controls.IndexOf(this) - 1, new ImageButton() { ImageUrl = _images[_imageTypes.ShowAllColumns], Width = 16 });
            Parent.Controls.AddAt(Parent.Controls.IndexOf(this) - 1, new LiteralControl("</div>"));

这适用于一个微小的问题:如果我在 GridView 之前有一些 [br /]'s

    <asp:Button ID="Button3" runat="server" Text="Button" />
    <br /> <!-- This one! -->
    <asp:mightygridview
        ID="mightyGridView"
        runat="server"
        AllowSorting="true"
        AllowHiding="true"
        autogenerateeditbutton="true"
        OnRowEditing="mightyGridView_RowEditing"
        OnRowCancelingEdit="mightyGridView_RowCancelingEdit"
        OnRowUpdating="mightyGridView_RowUpdating">
    </asp:mightygridview>

然后在按钮之后添加控件,并且
(或任何其他标记)拆分我的控件和 GridView。

一种解决方案是将我的控件插入到其中呈现 GridView 表的位置。所以 GridView 的标签被包裹在一个 . 但我认为我无法访问生成的这个,因为它没有服务器端控制(没有 runat="server")。如果我能做到这一点,我的控件和相应的 GridView 就无法分离。

有任何想法吗?

4

1 回答 1

0

还没有找到解决办法。

于 2012-10-01T08:20:25.433 回答