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>"));

これは、1 つの非常に小さな問題で問題なく機能します。GridView の前に [br /] がいくつかある場合

    <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 を分割します。

1 つの解決策は、GridView テーブルがレンダリングされている場所にコントロールを挿入することです。したがって、GridView のタグは 内にラップされます。しかし、サーバー側の制御がないため (runat="server" がない)、生成されたこれにアクセスできないと思います。これを達成できた場合、コントロールと対応する GridView を分離できませんでした。

何か案は?

4

1 に答える 1

0

まだ解決策が見つかりません。

于 2012-10-01T08:20:25.433 に答える