I'm всеобъемлющ и расширение управления GridView:Динамически добавить контроль непосредственно над 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>"));
это работает отлично с одной крошечной крошечной проблемой: если у меня есть некоторые [br /] до GridView
<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 не могли быть разделены.
Любые идеи?