У меня есть Devexpress Tabcontrol .
Внутри этого Tabcontrol у меня Devexpress Grid .
Внутри этой сетки я загружаю кнопку во время выполнения с помощью следующего кода.
GridViewCommandColumn col = new GridViewCommandColumn();
GridViewCommandColumnCustomButton CusButton = new GridViewCommandColumnCustomButton();
CusButton.ID = "btn1";
CusButton.Image.Url = "~/Images/color.jpg";
col.ButtonType = ButtonType.Image;
col.CustomButtons.Add(CusButton);
gridview.Columns.Add(col);
Теперь при нажатии кнопки мне нужно добавить вкладку в этот Devexpress Tabcontrol, сохраняя эту сетку на первой вкладке.
Но он не добавляется, обновляется после нажатия этой кнопки
Я только что создал объект для закладка и загрузил Gridcontrol.ascx пользовательский элемент управления, который имеет devexpress gridview.
После этого я просто вызвал метод addTabPages в моем пользовательском элементе управления Tabpage и передал этот объект Tabpage в качестве параметра. В приведенном ниже коде tabPreview это объект для Tabcontrol usercontrol .
tabpagenew = new TabPage();
Gc = (GridControl)Page.LoadControl(@"GridControl.ascx");
Gc.ID = "GC" + currDDIndex;
ASPxGridView grdPreview = (ASPxGridView)Gc.FindControl("ggc_preview");
grdPreview.ID = "grd" + currDDIndex;
tabpagenew.Controls.Add(Gc);
tabPreview.addTabPages(tabpagenew);
В методе addTabPages я просто добавил вкладки по индексу,
public void addTabPages(TabPage tab_Page)
{
ActiveIndex = ASPxPageControl1.ActiveTabIndex + 1;
int index = ASPxPageControl1.TabPages.Count + 1;
ASPxPageControl1.TabPages.Add(tab_Page);
tab_Page.ToolTip = tab_Page.Text;
tab_Page.Name = tab_Page.Name;
ImageButton button = new ImageButton();
button.ImageUrl = "~\\Images\\close.png";
button.Style.Add(HtmlTextWriterStyle.Cursor, "Hand");
button.Click += new ImageClickEventHandler(Close_Click);
button.Attributes.Add("onclick", "TabClose('" + hdnCurrentTab.ClientID + "','" + tab_Page.Index + "');");
tab_Page.TabTemplate = new AddTabHeading(button, tab_Page.Text, ASPxPopupMenu1, ASPxPageControl1.ActiveTabPage.VisibleIndex, ASPxPageControl1);
}