Программно создать иерархию в телерике radgridview winforms

Я хочу создать иерархию в radgridview, которая не привязана к данным. До сих пор мне не повезло выяснить, как это сделать.

Я подумал, что вы могли бы сделать что-то вроде:

Grid.Parent.Rows.Add(new object[] {});

а также

Grid.Parent.Child.Rows.Add(new object[] {});

но мне не повезло. Сетка не может быть привязана к данным. У меня есть список данных, которые я просматриваю и создаю иерархию.

Мне нужно знать, как создавать родительские узлы и дочерние узлы для этого родителя. Я видел шаблоны и возился с ними, но я могу заставить его работать только с источником данных.

Может ли кто-нибудь указать мне в правильном направлении?


person CSharpDev    schedule 06.02.2013    source источник


Ответы (2)


Взгляните на второй раздел этой статьи Привязка к иерархическим данным программно

person checho    schedule 07.02.2013
comment
Я обнаружил, что с этими элементами управления телериком сложно работать. Мне пришлось возиться с отношениями и шаблонами несколько раз, прежде чем заставить его работать. Наконец-то я смог заставить его работать, посмотрев демонстрационное видео на сайте телерика. - person CSharpDev; 11.02.2013
comment
Как только вы узнаете подробности, работать с пакетом станет легко. Шаблоны — это разные уровни иерархии, а отношения — это отношения между желаемыми шаблонами. - person checho; 12.02.2013

// Код для привязки данных radgridview

 void DataBInd()
        {

            var Source = Results.GetData(FromDate, Todate, drpLedger.Value);
            radGridLedgerAccount.DataSource = null;
            radGridLedgerAccount.DataSource = Source;
            FormatGrid();
            BindChildView();
            BindBarCharView(Source);
        }

//Код для привязки дочернего представления, т.е. иерархии

  void BindChildView()
        {
            if (drpLedger.Value != null)
            {


                GridViewTemplate childview = new GridViewTemplate();
                childview.Caption = "Details";
                childview.DataSource = null;
                childview.DataSource = Source;
                this.radGridLedgerAccount.MasterTemplate.Templates.Add(childview);

                FormatChildView(childview);
                GridViewRelation relation = new GridViewRelation(this.radGridLedgerAccount.MasterTemplate);
                relation.ChildTemplate = childview;
                relation.ParentColumnNames.Add("months");
                relation.ChildColumnNames.Add("NameOfMonth");
                this.radGridLedgerAccount.Relations.Add(relation);

            }
        }
person Taja_100    schedule 31.03.2016