Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Быстрый grid для специфичной операции (выделение и 
:(
    Опции темы
avyazemsky
Дата 4.3.2013, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 4.3.2013

Репутация: нет
Всего: нет



Доброго времени суток. 

Прошу совета/помощи в следующей задаче.

Дано: Есть программа, написанная на delphi. В основной рабочей области создается большая таблица (200х200). Пользователь выделяет область и окрашивает клеточки в красный цвет. В тонкости программы (зачем это надо) вдаваться сейчас не имеет смысла.
Вот пример рабочей области: http://i.stack.imgur.com/5BslB.png

Задача: переписать программу на .NET (c#)

Проблема: скорость выделения ячеек - очень большие тормоза. В программе на delphi ячейки выделяются мгновенно. 

Можно ли как-то оптимизировать таблицу? Другие операции, кроме выделения и закрашивания с ней производиться не будут. Есть ли быстрые сторонние компоненты? Или как это дело реализовать нативными средствами?

Буду благодарен за любой совет. Спасибо. Готов отблагодарить материально за помощь в решении вопроса.

PM MAIL   Вверх
diadiavova
Дата 4.3.2013, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(avyazemsky @  4.3.2013,  22:05 Найти цитируемый пост)
скорость выделения ячеек - очень большие тормоза. 

А что ты используешь? Датагридвью? Так вроде не для этого он предназначен. Я видел компонент эксель-подобную таблицу, но это было давно и точно не помню где, кажись в галерее вижуал студио. Там вроде бесплатная версия имела ограничение на размер таблицы 150х150. Точнее не подскажу уже сейчас. Просто поищи там, может что и подойдет. Вот это например
http://visualstudiogallery.msdn.microsoft....3FF9D?SRC=VSIDE



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
avyazemsky
Дата 7.3.2013, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 4.3.2013

Репутация: нет
Всего: нет



diadiavova, 
Спасибо за ответ! Да, использую datagridview или datagrid (wpf) и понимаю, что предназначен он совсем для другого. Полистал контролы по ссылке, попробую сегодня что-нибудь из них. Жаль платные и стоят дорого. 
Может быть Вы можете посоветовать альтернативу grid'ам? На соседнем форуме мне предложили "нарисовать" собственную таблицу под эти действия. Что Вы думаете по этому поводу? У меня с таблицей связана матрица - 0 для белых и 1 для красных ячеек. По double click ячейка меняет цвет. По нажатию правой кнопки вызывается контекстное меню, в котором можно окрашивать сразу несколько выделенных ячеек, инвертировать их цвет, копировать ячейки. Хотелось бы услышать Ваше мнение по поводу такой задачи. 
Спасибо. 
PM MAIL   Вверх
diadiavova
Дата 7.3.2013, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Ну, можно, конечно, пофилософствовать на тему написания собственного контрола. Почему бы и нет? 
В конечном итоге все контролы кто-то написал, стало быть вполне себе возможно сделать то же самое и самому. Мало того, это вполне может принести существенную выгоду по всем направлениям, ибо такой контрол не будет отягощён неиспользуемым функционалом и его работу всегда можно оптимизировать под конкретную задачу. В этом смысле написание собственного контрола - идея просто превосходная. Но с другой стороны надо понимать, что затраты на написание собственного контрола могут оказаться более существенными чем кажется, а выигрыш может себя не оправдать. Здесь нужно оценивать массу всевозможных "за" и "против", таких как: бюджет( может лучше купить), сроки(написание контрола может затянуться), да критичность решаемой проблемы тоже следует оценить здраво. Описанный функционал сложным не выглядит, так что если есть время попробовать, то почему бы и нет? 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0441 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.