Добавление нескольких строк заголовка в Telerik RadGrid

#header #radgrid

#заголовок #radgrid

Вопрос:

Я использую Telerik RadGrid, и у меня есть требование, которое я смог выполнить, но, похоже, оно работает не так, как я ожидал.

Требование: добавьте родительскую строку заголовка одним нажатием кнопки (загрузите 5 записей) и удалите при другом нажатии кнопки (загрузите больше записей)

Несколько строк заголовка

Объявление сетки выглядит следующим образом

                             <telerik:RadGrid ID="rgDetails1" runat="server" Width="99.9%" Skin="Office2010Blue"
                                EnableEmbeddedSkins="true" AutoGenerateColumns="true" OnColumnCreated="rgDetails1_ColumnCreated">
                                <MasterTableView DataKeyNames="RowID" TableLayout="Fixed" HeaderStyle-Height="28px">
                                    <NoRecordsTemplate>
                                        <asp:Label ID="lblError" runat="server" Text="No records to display."></asp:Label></NoRecordsTemplate>
                                </MasterTableView>
                                <ClientSettings>
                                    <Resizing AllowColumnResize="True" />
                                    <Scrolling AllowScroll="true" ScrollHeight="280px" UseStaticHeaders="true"></Scrolling>
                                    <ClientEvents OnGridCreated="GridCreated" />
                                </ClientSettings>
                            </telerik:RadGrid>
  

и сетка привязана к приведенным ниже кодам

 protected void btnLoad1_Click(object sender, EventArgs e)
{
    DataTable fdtObjDetails = null;
    try
    {
        fdtObjDetails = LoadData(5);

        GridColumnGroup parentHeader = new GridColumnGroup();
        parentHeader.HeaderText = "Essential";
        parentHeader.Name = "Group1";
        parentHeader.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
        rgDetails1.MasterTableView.ColumnGroups.Add(parentHeader);

        rgDetails1.DataSource = fdtObjDetails;
        rgDetails1.DataBind();
    }
    catch (Exception objExcep)
    {
        string fstrError = objExcep.ToString();
    }
}
  

и для столбца создано событие группировки RadGrid.

 protected void rgDetails1_ColumnCreated(object sender, GridColumnCreatedEventArgs e)
    {
        try
        {
            if (e.Column.HeaderText != "" amp;amp; e.Column.HeaderText != string.Empty amp;amp; e.Column.HeaderText != null)
            {
                e.Column.ItemStyle.Height = System.Web.UI.WebControls.Unit.Pixel(20);
                switch (e.Column.HeaderText.ToUpper())
                {
                    case "ROWID":
                    case "ROW ID":
                        e.Column.Visible = false;
                        break;

                    case "TYPE":
                        e.Column.HeaderText = "Type";
                        e.Column.UniqueName = "Type";
                        e.Column.HeaderStyle.Width = System.Web.UI.WebControls.Unit.Pixel(100);
                        e.Column.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                        e.Column.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
                        e.Column.ColumnGroupName = "Group1";
                        break;

                    case "FLIGHT NAME":
                    case "FLIGHT_NAME":
                        {
                            e.Column.HeaderText = "Flight Name";
                            e.Column.UniqueName = "Flight_Name";
                            e.Column.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                            e.Column.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
                            e.Column.ColumnGroupName = "Group1";
                            break;
                        }

                    case "LIVES":
                        {
                            e.Column.HeaderText = "Lives";
                            e.Column.UniqueName = "Lives";
                            GridBoundColumn _GridColumn = (GridBoundColumn)e.Column;
                            e.Column.HeaderStyle.Width = System.Web.UI.WebControls.Unit.Pixel(60);
                            e.Column.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
                            e.Column.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
                            e.Column.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
                            _GridColumn.DataFormatString = "{0:#,###}";
                            e.Column.ColumnGroupName = "Group1";
                            break;
                        }
                }
            }
        }
        catch (Exception objExcep)
        {
            string fstrClsNm = "AL-CLS"   this.GetType().BaseType.FullName   "-rgDetails1_ColumnCreated()";
        }
    }
  

Теперь проблема в том, что как только я нажимаю любую из кнопок, я получаю сообщение об ошибке ниже.

введите описание изображения здесь

Как мне решить эту проблему? или есть какой-либо другой способ добавить строки заголовка, похожие на изображение выше?

Комментарии:

1. у вас есть проблемы в коде ur? или вам нужен дизайн, отличный от рисунка, который вы опубликовали?

2. Спасибо Баладжи за ответ. Насколько я знаю, Telerik говорит, что мы не можем иметь сеточную структуру в ASPX и добавлять группировку динамически во время выполнения. Они предлагают либо иметь сетку и группировку в ASPX, либо создавать сетку динамически в коде во время выполнения. Я хотел знать, есть ли какой-либо другой доступный вариант. Мне нужен тот же дизайн, что и на картинке.