|
|
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
Возможно ли при двойном нажатии на ListBox определять на какой столбец нажали ? заказчик требует чтобы можно был привязывать поля в Excel файле к его полям и хочет для этого максимально простой интерфейс :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2004, 23:45 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
В событии MouseDown берем параметр X, сравниваем его значение с тем, что написано в свойстве ColumnWidths. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2004, 23:52 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
спасибо, вроде понял. А как в MouseDown отличить двойное нажатие от одиночного ? С уважением, Каримбаев Тимур ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2004, 23:56 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
Я сейчас проверил, в каком порядке происходят события. При обычном клике: MouseDown, MouseUp, Click. При двойном: MouseDown, MouseUp, Click, DoubleClick, MouseUp. Возможно, это как-то можно отловить. Например: Dim b As Boolean Private Sub zzz_MouseDown(...) b=False End Sub Private Sub zzz_DoubleClick() b=True End Sub Private Sub zzz_MouseUp(...) If b Then это был двойной клик End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2004, 00:08 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
СПАСИБО ОГРОМНОЕ !!!! сработало ! а то у меня уже была идея сверять время между двумя MouseDown :)) С уважением, Каримбаев Тимур ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2004, 00:12 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
>А как в MouseDown отличить двойное нажатие от одиночного ? В самом MouseDown конечно не потличить. Надо фиксировать последовательность событий. Из Help === В объектах, принимающих события мыши, возникает следующая цепочка событий: MouseDown > MouseUp > Click > DblClick === У меня получается несколько по другому: MouseDown > MouseUp > Click > DblClick > MouseUp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2004, 00:14 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
Сверять время не помогло бы, потому что время, отводимое на двойной клик, регулируется в настройках Windows. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2004, 00:14 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
это была концепт-идея :) кстати, MouseUp нам не нужен. просто в MouseDown устанавливаем глобальный m_x, а при DblClick его используем С уважением, Каримбаев Тимур ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2004, 00:17 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
:^) Да, это красивее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2004, 00:19 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
Большое спасибо! еще одной проблемой меньше уфф... :) --------------------------------------- С уважением, Каримбаев Тимур ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2004, 00:21 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
похоже рано я радовался :( есть одна проблема: если ListBox длинный - то при прокрутке возникают проблемы, мы прокручиваем ListBox вправо - самый левый столбец может быть любым по счету, но Х mouse_down'а от этого не зависит, он так и будет начинаться с 0 :( может решение стоит пересмотреть в принципе (может вообще не ListBox использовать ?) заказчик хочет как можно проще привязывать поля в его базе к колонкам в Excel-файле --------------------------------------- С уважением, Каримбаев Тимур ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 03:02 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
может решение стоит пересмотреть в принципе (может вообще не ListBox использовать ?) Я ваш вопрос не понял, но я вам на него отвечу :) авторзаказчик требует чтобы можно был привязывать поля в Excel файле к его полям и хочет для этого максимально простой интерфейс А это как? Какие поля к каким его полям чем и зачем привязывать? А то эта... решение есть (неработающее), а задачи - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 03:24 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
Задача: Заказчик хочет пополнять свою базу фирм. Ему иногда приходят Excel-файлы, с фирмами. Естественно, эти файлы в каком-то своем формате, но почти все содержат одинаковые поля (имя фирмы, профиль, телефоны, адрес, примечание). Он сказал сделать визуальную привязку полей в файле к нашим полям. Т.е. он не хочет писать: имя фирмы в A, телефоны фирмы в B и т.д., а хочет просто - указал файл (он ему показывается в форме - я это сделал в виде ListBox'а) - , нажал на radiobutton "имя фирмы", потом кликнул на столбец соответствующий имени фирмы нажал на radiobutton "телефоны", потом кликнул на столбец соответствующий телефонам. Так вот: основная проблема - определить номер столбца в ListBox на который он кликает, т.е. её мы решили, но это решение не подходит для длинных ListBox'ов которые надо прокручивать вправо (а я вывожу столбцы в Excel от A до Z, поэтому прокручивать почти всегда надо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 12:01 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
А почему бы тебе не сделать импорт этого файла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 12:10 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
DafА почему бы тебе не сделать импорт этого файла? можно ли поподробнее об этом ? --------------------------------------- С уважением, Каримбаев Тимур ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 12:26 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
Ну если ты говоришь, что у тебя: почти все содержат одинаковые поля , то может пусть твой Boss просто укажет файл и нажмет на кнопку на которой у тебя будет висеть код по импорту даных из файла в таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 12:35 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
Только для этого нужно, чтобы поля всетаки были одинаковые. У таблицы и у файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 12:36 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
Ну в общем так и есть, он просто указывает файл, там висит код по импорту (открывается worksheet и оттуда копируются значения в таблицу). Файлы действительно почти все содержат одинаковые поля, но обычно в разном порядке :( поэтому стоит задача указать какие поля в Excel-файле соответствуют нашим. Он хочет делать это визуально (как я описывал раньше, в 12:01). С этим тоже проблем почти нет, есть одна проблема - не получается опрделеить номер столбца в ListBox на который кликают. --------------------------------------- С уважением, Каримбаев Тимур ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 12:40 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
Либо во время импорта преобразовывать данные к нужному типу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 12:40 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
может я чего-нибудь не понимаю, но при чем тут тип ? мне необходимо чтобы человек мог указывать: имя фирм содержится в колонке А, телефон фирмы содержится в Б и т.д. все это не проблема, но не получается одна мелочь: когда человек кликает на ListBox (например на колонку А - в любой строке) мне необходимо как-то получить данные о том на какую колонку (по счету) человек кликнул --------------------------------------- С уважением, Каримбаев Тимур ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 12:53 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
Господи ты боже мой Ну импортируй ты этот долбанный лист во временную таблицу. Отобрази таблицу как таблицу , повесив ее на формочку с дофига полей (ненужные поскрывай), и лови себе на здоровье дабл-клики на столбцах. Когда сопоставишь столбцы - переноси данные из временной в основную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 13:30 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
В догонку Я бы вообще нахер послал с такими требованиями. Извращение это все. Пусть человек адын раз скажет программе - в каком столбце что лежит, и программа в соответствии с этими настройками и будет импортировать. А если кривой файл попался, в котором столбцы переставлены, то пусть в эксельном же файле их мышкой и перетащит куда надо. Один хрен работу делать придется, только перетаскивание столбцов - одно движение мышки, а в твоем варианте - по каждому столбцу придется кликнуть и сказать, чем он является. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 13:38 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
задачу не понял. (невнятно все как-то. Как ты сурс в бокс получаешь? И на хера тогда в бокс а не в ленту?) Поэтому будем решать решение :) 1. Можно сделать автоподборку ширины контрола (по данным) - тогда не будет скроллинга. (поройся, где-то обсуждалось). (и вапше - были где-то самопальные "списки с регулируемой шириной столбцов" - посмотри, как там решена эта проблема - по моему попросту ограничением числа столбцов. Я не помню точно, а копаться в лом.) 2. взять очень широкий список, положить его в подформу. Ширину контрола подформы взять "узкой" - тогда прокрутка будет у подформы, а не у списка. А и т.п. успехов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 13:40 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
А если попробовать поиграть с свойствами Selected и ItemsSelected? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 13:43 |
|
||
|
Определить номер столбца в ListBox
|
|||
|---|---|---|---|
|
#18+
Либо делать как Лох советует, либо писать свой импорт файлов, аналогичный микросовтовскому, т.е. считывать заголовки столбцов екселевского файла, потом делать 2 комбобокса - в одном поле из екселевского файла, в другом поле в нужной таблице (как я понял, таблиц может быть несколько) там можно и преобразование типов повесить, но это не требуется вроде при такой постановке задачи. Т.е. рисуется простая форма для импорта из екселя в различные таблицы - делов на 5 минут.... И нафига дабл клики? У микрософта много различных визардов, многие как раз на комбобоксах основаны (поле из источника - поле куда кидаем - в одной строке, сколько полей, столько и строк визуально на форме...). Ну это если не охота красивости рисовать со стрелочками, как в ДТС на sql сервере, к примеру, хотя тоже можно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 13:43 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32375525&tid=1677210]: |
0ms |
get settings: |
5ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
198ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 526ms |

| 0 / 0 |
