Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

[C#] Вид - Таблица

4.0K
16 февраля 2009 года
ApokALEXIS
112 / / 23.08.2006
подскажите где найти такой контролл


табличка с изменяемыми вручную по ширине колонками

судя по тому что такая табличка используется во многих программах (тот же проводник винды, менеджеры закачек, файлменеджеры, дефрагеры итд) наверное существует для нее стандартный контрол
5
16 февраля 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: ApokALEXIS
подскажите где найти такой контролл

Это стандартный ListView (ага, в эксплорере он же) с обработчиками отрисовки строк.

4.0K
16 февраля 2009 года
ApokALEXIS
112 / / 23.08.2006
а контрол в ячейку можно впихнуть?
5
16 февраля 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: ApokALEXIS
а контрол в ячейку можно впихнуть?


Это не WPF. Врядли.

4.0K
17 февраля 2009 года
ApokALEXIS
112 / / 23.08.2006
ну такой контрол и в wpf есть.
а как в нем сортить? такие чтоб справа на каждоу колонке стрелочки серые, при нажатии на заголовок колонки сортит - есть для этого чтото стандартное или вручную писать?
5
17 февраля 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: ApokALEXIS
ну такой контрол и в wpf есть.
а как в нем сортить? такие чтоб справа на каждоу колонке стрелочки серые, при нажатии на заголовок колонки сортит - есть для этого чтото стандартное или вручную писать?

Вручную. Никто не знает как именно сортировать данные вы хотите. :) Хотя оставляю за собой право на ошибку.
С другой стороны есть DataGridView - это если набор данных на клиенте показываете, он вроде как с датасурсами интегрироваться может, а они - с SQL. Впрочим я сам всегда пользовался сбоственными сортировками.

11
17 февраля 2009 года
oxotnik333
2.9K / / 03.08.2007
Цитата: hardcase
Впрочим я сам всегда пользовался сбоственными сортировками.


Проще создать свой датасорс, впихнуть в него данные, привязать к этому делу датагрид и по клику в шапке оно само прекрасно сортируется (если конечно свой алгоритм сортировки не применять)

4.0K
17 февраля 2009 года
ApokALEXIS
112 / / 23.08.2006
DataGridView - это именно то что надо. проглядел)
мне какраз для работы с БД

извиняюсь что напудрил мозги с ListView (хотя тоже пригодится)
4.0K
14 марта 2009 года
ApokALEXIS
112 / / 23.08.2006
проблема - не могу настроить на него датасорс

писать туда данные надо из моих обьектов (не из бд)

для этого создаю DataTable, указываю столбцы, ввожу строки, надо только пробиндить их со столбцами датагридвью.

как его не мучал не пашет.. не подскажете?
842
14 марта 2009 года
sigmov
301 / / 16.09.2008
Цитата: ApokALEXIS
проблема - не могу настроить на него датасорс

писать туда данные надо из моих обьектов (не из бд)

для этого создаю DataTable, указываю столбцы, ввожу строки, надо только пробиндить их со столбцами датагридвью.

как его не мучал не пашет.. не подскажете?



Подскажу - Надо DataSet инициализировать и к DataGridView подключить.
Вообщем я сейчас уже слабо помню, ибо давно не пользовался.

P.S. Нашел у себя собственную реализацию - скидываю как пример

4.0K
14 марта 2009 года
ApokALEXIS
112 / / 23.08.2006
попробую разобраться. собсно дататейбл часть датасета
я его какраз подключить не могу
---------
все так просто =D круто
4.0K
16 марта 2009 года
ApokALEXIS
112 / / 23.08.2006
Чтоб не создавать новую тему пишу сдесь же

в DataGridView НЕ работают одновременно CellMouseDown и любой из CellDoubleClick (CellMouseDoubleClick, CellContent...)

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

тоесть теперь даблклик оно воспринимает как просто 2 маусдаун

как это вылечить? ну кроме как вставкой в отдельный поток таймера и замеряя кк давно был сделан щелчок в этот cell ))

----
кстати таймер не спасает. оно несколько раз срабатывает почемуто
842
17 марта 2009 года
sigmov
301 / / 16.09.2008
Цитата: ApokALEXIS
соответственно даблклик должен открывать форму, маусдаун вызвать драгендроп


дблклик по строке, столбцу, ячейке таблицы?

4.0K
17 марта 2009 года
ApokALEXIS
112 / / 23.08.2006
ячейке.

так как клик состоит из маусдаун и маусап - вызывается даусдаун и при клике и при даблклике
не только в ячейках. где угодно

ну клик еще можно переназначить на маусап, а вот даблклик...
1.9K
17 марта 2009 года
GreenRiver
451 / / 20.07.2008
Цитата: ApokALEXIS

как это вылечить? ну кроме как вставкой в отдельный поток таймера и замеряя кк давно был сделан щелчок в этот cell ))

----
кстати таймер не спасает. оно несколько раз срабатывает почемуто


Лучше запоминать время нажатия, и сравнивать его с предыдущим... А таймер, да ещё в отдельном потоке ради DblClick'а - это жестко!

Хотя должно проще решаться. Наврятли разработчики никак не предусмотрели такую ситуацию...

4.0K
03 апреля 2009 года
ApokALEXIS
112 / / 23.08.2006
как в этом контроле (DataGridView)

узнать координату клетки из соответствующей коорд контролла

(уточню - когда вызавается ивент DragDrop среди его аргементов есть коорд X, Y. надо узнать какой этим коорд соответствует ряд таблицы)

в листбоксе это так делается
ListBox.IndexFromPoint(ListBox.PointToClient(new Point(e.X, e.Y)));


нашел решение -
HitTest(PointToClient(new Point(e.X, e.Y)).X, PointToClient(new Point(e.X, e.Y)).Y).RowIndex

смешно получилось - промазпв мимо клавиши R попал по Н и стало интересно чтоже делает ф-ия с таким именем))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог