Вход на сайт
Предложите структуру данных
NEW 20.02.13 19:55
в ответ Murr 20.02.13 19:22
NEW 20.02.13 20:25
в ответ AlexNek 20.02.13 19:48
Не понял, разве это не форма ввода/вывода данных
------
Она самая. Просто ты не задумался откуда там данные и сколько их...
Я вот сейчас сгенерировал приложение... а оно не пошло... даже не компилируется...
Причина - прозаическая - кусок шаблона используется в :
- форме представления единичной записи
- форме представления многих записей
- отдельном контроле для встраивания в другие формы
- может еще где - не все проверял...
не знал, не учел - надо фиксить...
Эээ... Подумай чуток над тем, для чего может требоваться встраиваемый контрол и что получится в результате...
------
Она самая. Просто ты не задумался откуда там данные и сколько их...
Я вот сейчас сгенерировал приложение... а оно не пошло... даже не компилируется...
Причина - прозаическая - кусок шаблона используется в :
- форме представления единичной записи
- форме представления многих записей
- отдельном контроле для встраивания в другие формы
- может еще где - не все проверял...
не знал, не учел - надо фиксить...
Эээ... Подумай чуток над тем, для чего может требоваться встраиваемый контрол и что получится в результате...
NEW 20.02.13 22:44
в ответ Tomasson 20.02.13 20:56
Ну давай на пальцах...
Дана Веб-страница или Вин-форма...
На странце/форме в виде блоков размещены управлляющие элементы - лэйблочки, инпуты, картинки и т.п.
Когда все елементы в блоке невидимы - необходимо очистить (сделать доступным для размещения других
элемнтов) занимаемое ими место.
Вопрос - Какая структура данных позволит принять решение об освобождении блока за минимальное
количество операций?
Для вкусности - решение должно быть применимо как на серверной части, так и на клиенте...
Дана Веб-страница или Вин-форма...
На странце/форме в виде блоков размещены управлляющие элементы - лэйблочки, инпуты, картинки и т.п.
Когда все елементы в блоке невидимы - необходимо очистить (сделать доступным для размещения других
элемнтов) занимаемое ими место.
Вопрос - Какая структура данных позволит принять решение об освобождении блока за минимальное
количество операций?
Для вкусности - решение должно быть применимо как на серверной части, так и на клиенте...

NEW 20.02.13 23:11
в ответ Tomasson 20.02.13 23:01
А это аккурат тебе решать - все, что требуется - чтобы не было ненужных действий...
Сценарий вида - Я "убил" последний видимый элемент - блок удалился... без сканирования всех елементов...
Одно... даже два.. из возможных решений Я могу написать... но думаю, что есть что-нибудь еще...
Сценарий вида - Я "убил" последний видимый элемент - блок удалился... без сканирования всех елементов...
Одно... даже два.. из возможных решений Я могу написать... но думаю, что есть что-нибудь еще...
NEW 20.02.13 23:26
в ответ Murr 20.02.13 23:11
Тогда имеет смысл ввести еще структуру (blockID, visibility). Но не это главное.
Насколько я понял, у тебя основное действие над структурой - это считывание значений, а не их изменение. Тогда структура выбрана правильно. Самое быстрое считывание у Dictionary<TKey, TValue>
Насколько я понял, у тебя основное действие над структурой - это считывание значений, а не их изменение. Тогда структура выбрана правильно. Самое быстрое считывание у Dictionary<TKey, TValue>
В ответ на:
Do you need fast searches and retrieval of information?
ListDictionary is faster than Hashtable for small collections (10 items or fewer). The Dictionary<TKey, TValue> generic class provides faster lookup than the SortedDictionary<TKey, TValue> generic class. The multi-threaded implementation is ConcurrentDictionary<TKey, TValue>. ConcurrentBag<T> provides fast multi-threaded insertion for unordered data. For more information about both multi-threaded types, see When to Use a Thread-Safe Collection.
=========================
The Dictionary<TKey, TValue> generic class provides a mapping from a set of keys to a set of values. Each addition to the dictionary consists of a value and its associated key. Retrieving a value by using its key is very fast, close to O(1), because the Dictionary<TKey, TValue> class is implemented as a hash table.
Note: The speed of retrieval depends on the quality of the hashing algorithm of the type specified for TKey.
Do you need fast searches and retrieval of information?
ListDictionary is faster than Hashtable for small collections (10 items or fewer). The Dictionary<TKey, TValue> generic class provides faster lookup than the SortedDictionary<TKey, TValue> generic class. The multi-threaded implementation is ConcurrentDictionary<TKey, TValue>. ConcurrentBag<T> provides fast multi-threaded insertion for unordered data. For more information about both multi-threaded types, see When to Use a Thread-Safe Collection.
=========================
The Dictionary<TKey, TValue> generic class provides a mapping from a set of keys to a set of values. Each addition to the dictionary consists of a value and its associated key. Retrieving a value by using its key is very fast, close to O(1), because the Dictionary<TKey, TValue> class is implemented as a hash table.
Note: The speed of retrieval depends on the quality of the hashing algorithm of the type specified for TKey.
NEW 20.02.13 23:47
С чего это должно меня интересовать?
Форма на экране просто не может иметь "бесконечное" число данных, хотя если ты их собираешься скроллировать на клиенте....
У нас требования сильно разные. Для чего вам может требоваться встроенный контрол, думаю никто не додумается в здравом уме
А вообще я в подобных случаях пользую виртуальный грид или проперти грид (только не MS!) Вся динамика определяется состоянием данных автоматом.
в ответ Murr 20.02.13 20:25
В ответ на:
Просто ты не задумался откуда там данные и сколько их
Просто ты не задумался откуда там данные и сколько их
С чего это должно меня интересовать?
Форма на экране просто не может иметь "бесконечное" число данных, хотя если ты их собираешься скроллировать на клиенте....

В ответ на:
Подумай чуток над тем, для чего может требоваться встраиваемый контрол и что получится в результате
Подумай чуток над тем, для чего может требоваться встраиваемый контрол и что получится в результате
У нас требования сильно разные. Для чего вам может требоваться встроенный контрол, думаю никто не додумается в здравом уме

А вообще я в подобных случаях пользую виртуальный грид или проперти грид (только не MS!) Вся динамика определяется состоянием данных автоматом.
NEW 21.02.13 00:00
в ответ AlexNek 20.02.13 23:47
Форма на экране просто не может иметь "бесконечное" число данных
-----
Зато ничто не мешает ей их динамически подгружать... Понимаю - каша... жуткая каша даже для прямой имплементации, а уж в генерации... Ну и что - приходится есть...
никто не додумается в здравом уме
-----
Ну не встроенный, а встраиваемый... включая динамическое встраивание...
Но ты прав - никто, в здравом уме, не будет такой фигней маятся... но Я, по земным меркам, уже давно не в здравом - даже в паспорте написали - с ДРУГОЙ планеты...
-----
Зато ничто не мешает ей их динамически подгружать... Понимаю - каша... жуткая каша даже для прямой имплементации, а уж в генерации... Ну и что - приходится есть...
никто не додумается в здравом уме
-----
Ну не встроенный, а встраиваемый... включая динамическое встраивание...
Но ты прав - никто, в здравом уме, не будет такой фигней маятся... но Я, по земным меркам, уже давно не в здравом - даже в паспорте написали - с ДРУГОЙ планеты...

NEW 21.02.13 00:14
в ответ Tomasson 20.02.13 23:53
где вы вообще храните информацию о висибилиты?
-----
Сейчас - загружается в контролы... из базы данных с учетом условий и значений по умолчанию... если Я помню правильно - там полтора десятка методов, которые разбираются как это делать с теми контролами которые там могут случится... и менять мне их никто не даст...
Но это - статика, начальные значения... То, что я делаю - динамика - вбили в поле строку с 20 буквами "а" будем показывать одно... а с 21 - другое... а не дай боже это Пал-Палыч - вообще третье...
а в чем проблема?
-----
В том что надо по одному экземпляру на сессию... И либо слать на клиента, либо в сессию... оба варианта - не годятся...
-----
Сейчас - загружается в контролы... из базы данных с учетом условий и значений по умолчанию... если Я помню правильно - там полтора десятка методов, которые разбираются как это делать с теми контролами которые там могут случится... и менять мне их никто не даст...
Но это - статика, начальные значения... То, что я делаю - динамика - вбили в поле строку с 20 буквами "а" будем показывать одно... а с 21 - другое... а не дай боже это Пал-Палыч - вообще третье...
а в чем проблема?
-----
В том что надо по одному экземпляру на сессию... И либо слать на клиента, либо в сессию... оба варианта - не годятся...

NEW 21.02.13 17:47
Хочешь сказать что layout формы меняется в зависимости от введенных данных? И шеф считает это крутым решением?
в ответ Murr 21.02.13 00:14
В ответ на:
То, что я делаю - динамика - вбили в поле строку с 20 буквами "а" будем показывать одно... а с 21 - другое... а не дай боже это Пал-Палыч - вообще третье...
То, что я делаю - динамика - вбили в поле строку с 20 буквами "а" будем показывать одно... а с 21 - другое... а не дай боже это Пал-Палыч - вообще третье...
Хочешь сказать что layout формы меняется в зависимости от введенных данных? И шеф считает это крутым решением?
