Вставка UserControl в DataGridView

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Ефрейтор
Обычный пользователь
Обычный пользователь
 
Сообщения: 65
Зарегистрирован: 11.02.2005 (Пт) 12:43
Откуда: Алтай

Вставка UserControl в DataGridView

Сообщение Ефрейтор » 12.02.2012 (Вс) 21:20

Привет всем.
Есть пример в msdn где в ячеки DataGridView вставляется календарь:
http://msdn.microsoft.com/ru-ru/library/7tas5c80.aspx
У меня формат ячейки немного посложнее, поэтому для отображения данных я решил использовать картинку с UserControl.
Картинка в принципе вставляется нормально. А вот редактирование при клике на ячейку не происходит. Вроде все по аналогии сделал. При текстовом поле в ячейке UserControl без проблем вставляется.
почему то
Код: Выделить всё
  Public Overrides ReadOnly Property EditType() As System.Type
        Get
            'возращает тип редактируемого контрола
            Return GetType(ucEditingControl)
        End Get
    End Property

не вызывает класс ucEditingControl
Или может для ячеек типа с картинками это не прокатывает?
Вложения
GridModern.zip
(144.5 Кб) Скачиваний: 132

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Вставка UserControl в DataGridView

Сообщение FireFenix » 13.02.2012 (Пн) 2:55

Ваш исходник - редкий говнокод. Нужно бы его приводить в порядок, прежде чем давать людям посмотреть.

Более того - использовать картинки вместо контролов - феерический бред.
Что вы добиваетесь, тыкая в картинку, чтобы произошло? Чтоб он работала как текстовый компонент?
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Ефрейтор
Обычный пользователь
Обычный пользователь
 
Сообщения: 65
Зарегистрирован: 11.02.2005 (Пт) 12:43
Откуда: Алтай

Re: Вставка UserControl в DataGridView

Сообщение Ефрейтор » 13.02.2012 (Пн) 6:11

Спасибо за комплимент :)
Этот говнокод копия кода с примера msdn, ссылка в моем первом посте. Я никак не мог сделать его по проще. :(
А хотелось бы чтобы при кликании в ячейку попадать в интерфейс юзерконтрола, ну чтоб он как бы был встроен в ячейку.
Делаю машиностроительную спецификацию, там вот у нас такие вот форматы данных

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Вставка UserControl в DataGridView

Сообщение FireFenix » 13.02.2012 (Пн) 20:49

Ефрейтор писал(а):Я никак не мог сделать его по проще.

Такие вещи нужно делать не проще, а так, чтобы смогли понять другие и не было вырвиглазно

"Любой дурак может написать программу, которую поймет компилятор. Хорошие программисты пишут программы, которые смогут понять другие программисты." ©

Ефрейтор писал(а):Делаю машиностроительную спецификацию, там вот у нас такие вот форматы данных

Дело не в формате данных, а то как ты их отображаешь.
Ты используешь картинку, а значит она не обладает свойствами контрола.

Чтобы было всё правильно - тебе нужно нормально описать контрол, и в нём реализовать функцию Paint, которая как раз ответственная за отрисовку контрола, а не просто передавать картинку как результат.
Тебе нужно посмотреть как реализованы другие аналогичные контролы внутри DataGridView (к примеру можно взять Reflectorи посмотреть стандартные DataGridViewCheckBoxCell, DataGridViewCheckBoxColumn), и уже на основе их - делать. Т.е. либо до конца разобраться, что же написано в примере от msdn, или просто переделать полностью готовое под своё.

Так же если это начальный этап разработки, то можно попробовать использовать не WindowsForms, а технологию WPF, там такие вещи делаются попроще.
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Ефрейтор
Обычный пользователь
Обычный пользователь
 
Сообщения: 65
Зарегистрирован: 11.02.2005 (Пт) 12:43
Откуда: Алтай

Re: Вставка UserControl в DataGridView

Сообщение Ефрейтор » 14.02.2012 (Вт) 19:48

wpf слишком мутная штука для моего уровня, из разряда "написания web страницы в блокноте", от кучи тэгов рябит в глазах. Но все равно спасибо за участие


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList