RadGrid переопределить CreateChildControls - PullRequest
1 голос
/ 08 сентября 2010

Я расширяю элемент управления tellerick RadGrid для предоставления ему необязательного CustomSearchControl.

protected override void CreateChildControls()
{

    this.Controls.Add(CustomSearchControl);
    base.CreateChildControls();
    this.Controls.Add(CustomSearchControl);
}

Кажется, что base.CreateChildControls () должен иметь вызов clear элементов управления, поскольку первый CustomSearchControl исчезает.1004 *

Я попробовал это вместо этого:

protected override void CreateChildControls()
{
    base.CreateChildControls();
    this.Controls.AddAt(0,CustomSearchControl);
    this.Controls.Add(CustomSearchControl);
}

Но это создает ошибку состояния представления ... так как ни один элемент управления не добавляется в состояние представления и вставка нарушает иерархию коллекции элементов управления.

1 Ответ

1 голос
/ 18 ноября 2010

Я только что заметил, что это долго оставалось открытым. Я думаю, я никогда не вернулся, чтобы сказать, что я обнаружил источник моего огорчения. По сути, в RadGrid есть два определения метода CreateChildControls. Тот, который мне нужно было переопределить, имеет подпись int return. Как только я использовал этот метод в отличие от метода void по умолчанию, элементы управления были успешно добавлены в состояние просмотра, и с миром все было правильно.

...