Вы могли создать Объектный массив и бросить его к E везде. Да, это не очень очевидный способ, чтобы сделать это, но это должно, по крайней мере, работать.
Я считаю, что вам просто нужно применить к элементу управления пару атрибутов:
[ParseChildren(false)]
[PersistChildren(true)]
public class MyDiv : UserControl
{
...
Вы можете затем переопределить AddedControl
- I ' m не уверен.
Скажем так - это то, что работает для единственного пользовательского элемента управления, который я когда-либо писал :)
Будьте осторожны, что если вы поместите серверный элемент управления в область содержимого ...
Возможно, вы просто захотите сделать элемент управления наследованным от панели и переопределить любые методы вам нужно настроить? Может быть проще или сложнее, в зависимости от того, что вам нужно настроить
public class MyDiv : Panel
{
}
В MySQL
и PostgreSQL
:
SELECT id + 1
FROM mytable mo
WHERE NOT EXISTS
(
SELECT NULL
FROM mytable mi
WHERE mi.id = mo.id + 1
)
ORDER BY
id
LIMIT 1
В SQL Server
:
SELECT TOP 1
id + 1
FROM mytable mo
WHERE NOT EXISTS
(
SELECT NULL
FROM mytable mi
WHERE mi.id = mo.id + 1
)
ORDER BY
id
В Oracle
:
SELECT *
FROM (
SELECT id + 1 AS gap
FROM mytable mo
WHERE NOT EXISTS
(
SELECT NULL
FROM mytable mi
WHERE mi.id = mo.id + 1
)
ORDER BY
id
)
WHERE rownum = 1
ANSI
(работает везде, наименее эффективно) :
SELECT MIN(id) + 1
FROM mytable mo
WHERE NOT EXISTS
(
SELECT NULL
FROM mytable mi
WHERE mi.id = mo.id + 1
)
Системы, поддерживающие функции скользящего окна: