Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ASP.NET Новый топик    Ответить
 События при изменении порядка Control-ов в Controls  [new]
jav@
GDN Member

Откуда: GotDotNet.Ru
Сообщений: N/A
Есть webControl, который содержит некоторое количество динамически созданных Control-ов. у каждого из внутренних Control-ов существует событийная модель. В определенный момент времени (на postback) требуется изменить порядок control-ов. При перемещении их внутри ControlCollection не срабатывают события... Как полечить? Или как правильно сделать такое перемещение?
Делай добро и бросай его в воду - добро не пропадет, когда-нибудь добром вернется...


Данное сообщение получено с GotDotNet.Ru
5 мар 07, 14:50    [3863988]     Ответить | Цитировать Сообщить модератору
 События при изменении порядка Control-ов в Controls  [new]
iConst
GDN Member

Откуда: GotDotNet.Ru
Сообщений: N/A
Я думаю в сторону ID. Но без кода трудно что-либо сказать. Способов реализации может быть несколько.
Перевернув мир - оглянись, может перевернулся ты сам?!


Данное сообщение получено с GotDotNet.Ru
5 мар 07, 15:07    [3864111]     Ответить | Цитировать Сообщить модератору
 RE: События при изменении порядка Control-ов в Controls  [new]
DimanRU
ANM Member

Откуда: AspNetMania.Com
Сообщений: N/A
Есть webControl, который содержит некоторое количество динамически созданных Control-ов. у каждого из внутренних Control-ов существует событийная модель. В определенный момент времени (на postback) требуется изменить порядок control-ов. При перемещении их внутри ControlCollection не срабатывают события... Как полечить? Или как правильно сделать такое перемещение?


Реализовать интерфейс IComparable контролов со своим условиями и сделать несколько вариантов сортировки.


Данное сообщение получено с AspNetMania.Com
5 мар 07, 15:17    [3864212]     Ответить | Цитировать Сообщить модератору
 События при изменении порядка Control-ов в Controls  [new]
jav@
GDN Member

Откуда: GotDotNet.Ru
Сообщений: N/A
Код на коленке:

protected override void CreateChildControls(){
//добавляемый контрол
WebControl webControl;
....
//инициализация добавляемого контрола значениями взятыми из storage
webControl.ID = dbStorage.webControl.ID;
webControl.OnClick += new EventHandler(OnControlMoveClick);
...
//непосредственное добавление в коллекцию
Controls.Add(webControl);
}

protected void OnControlMoveClick(object sender, EventArgs e){
//ControlsCollection - коллекция взятых из storage Control-ов

if (ControlsCollection.Contains(sender as Control)) {
Control movingControl = sender as Control;
...
//Меняем местами два Control-a в коллекции
...
//Перестраиваю коллекцию Controls
ReBuildControls();
//генерируем событие для сохранения перемещения в storage
RaiseContentChanged();
}
}

private void ReBuildControls(){
Controls.Clear();
foreach(Control control in ControlsCollection){
Controls.Add(control);
}
}

Вот после такого перемещения, я не могу поймать очрередное перемещение (событие не срабатывает)
Делай добро и бросай его в воду - добро не пропадет, когда-нибудь добром вернется...


Данное сообщение получено с GotDotNet.Ru
5 мар 07, 15:58    [3864590]     Ответить | Цитировать Сообщить модератору
 RE: События при изменении порядка Control-ов в Controls  [new]
jav@
GDN Member

Откуда: GotDotNet.Ru
Сообщений: N/A
Хм... Вопрос только в том чтобы поменять местами два рядом стоящие? Делать псевдосортировку???
Делай добро и бросай его в воду - добро не пропадет, когда-нибудь добром вернется...


Данное сообщение получено с GotDotNet.Ru
5 мар 07, 16:00    [3864603]     Ответить | Цитировать Сообщить модератору
 RE[2]: События при изменении порядка Control-ов в Controls  [new]
DimanRU
ANM Member

Откуда: AspNetMania.Com
Сообщений: N/A
Хм... Вопрос только в том чтобы поменять местами два рядом стоящие? Делать псевдосортировку???


Да можно сделать дополнительные методы сортировки с параметрами какие элементы куда ставить и т.п.


Данное сообщение получено с AspNetMania.Com
5 мар 07, 16:20    [3864793]     Ответить | Цитировать Сообщить модератору
 RE[2]: События при изменении порядка Control-ов в Controls  [new]
jav@
GDN Member

Откуда: GotDotNet.Ru
Сообщений: N/A
Вообщем победил обычным редиректом, но как-то кривовато выглядит... По сути страница два раза прогружается прежде чем выполнить какое либо действие :(
Делай добро и бросай его в воду - добро не пропадет, когда-нибудь добром вернется...


Данное сообщение получено с GotDotNet.Ru
5 мар 07, 17:19    [3865261]     Ответить | Цитировать Сообщить модератору
 RE[2]: События при изменении порядка Control-ов в Controls  [new]
iConst
GDN Member

Откуда: GotDotNet.Ru
Сообщений: N/A
Попробуй объявить ссылку на будущий контрол не в методе CreateChildControls(), а в классе.
Перевернув мир - оглянись, может перевернулся ты сам?!


Данное сообщение получено с GotDotNet.Ru
5 мар 07, 20:42    [3866196]     Ответить | Цитировать Сообщить модератору
Все форумы / ASP.NET Ответить