|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Хочу инициировать "перетаскивание" Datawindow с помощью скрипта на событие clicked() Код: plaintext 1.
Так вот. Это срабатывает всегда , за исключением случая , когда пытаемся начать перетаскивать , находясь в поле , где в данный момент находится фокус ввода и есть мигающий курсор. В этом случае происходит выделение текста с помощью мыши. Это не лечится ? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2003, 18:08 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2003, 19:04 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Тогда перефразирую вопрос : можно ли с помощью кода "вывести" элемент (поле) dw из режима редактирования? Может как-то с фокусом можно поиграться? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 09:51 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
"Режим редактирования" - такого термина применительно к полю DW не существует. Быть может поможет acceptText() ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 10:00 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
И чем тебе Ермак поможет AcceptText, интересно узнать :-)) Фокус, то все равно останется в том поле :-)) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 10:05 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Можно ли с помощью WinAPI убрать курсор из поля ввода? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 10:28 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
А разве нельзя отработать TabKey, перед началом перетаскивания ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 10:57 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Я написал твой скрипт на clicked DW, ну и если у поля есть свойство Auto Selection, то действительно оно выделяется :-)), но перетаскивание начинается!!! Что-то я не въехал, а в чем проблема то? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 11:08 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
А ты попробуй перетащить , если ты уже находишься в этом поле , и при этом там есть мерцающий курсор , а поле не выделено целиком. Т.е. проблема возникает , когда ты один раз кликнул мышью и отпустил кнопку мыши, а затем опять ее нажимаешь и пытаешься начать перетаскивать. Вместо перетаскивания начинается выделение части текста в поле. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 11:20 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Вовик, да это так... Встречный вопрос, а на кой это тебе надо, тоесть перетаскивание DW??? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 11:43 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4.
Да, действительно просто acceptText() здесь не поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 11:49 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Молодец Ермак, но AcceptText все равно не нужен! if row>0 and ib_DragOnRowClick=true then this.POST Drag(begin!) end if Только я все равно не понял, а накой это надо!!! Вовик ответь, может ты просто в чем-то заблуждаешься... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 12:01 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Склоняю голову, огромное спасибо, Ермак !!! Кстати , можно и без AcceptText() , главное Post !!! Код: plaintext 1. 2. 3.
А нужно это как всегда для удобства интерфейса и экономии места на экране. Есть 2 DW на одной форме. Перетаскивая записи с одного DW пользователь выполняет Insert в другое. Обратное перетаскивание вызывает Delete. ( Кроме того , те же действия можно выполнить с помощью двойного щелчка мышью , кому как нравится ). В результате на форме не нужны лишние кнопки. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 12:13 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Вовик, так получается, что ты даешь редактировать окно, сохранять, добавлять и перетаскивать строки... Какое-то не очень хорошое реализация интерфейса... Если б это было разнесено - то и проблем не было :-)) Ну в общем смотри сам :-)) Хозяин - БАРИН. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 12:37 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
авторКстати , можно и без AcceptText() , главное Post !!! Действительно Post в данном вопросе - главное. Однако. Первоначально при добавлении или изменении данных пользователь просто вводит текст в так называемый edit control , который находится поверх текущей ячейки. Для программного чтения/записи содержимого edit control можно использовать gettext() / settext() . После того как пользователь завершил редактирование, т.е например нажал ENTER или ушел из текущей ячейки, DataWindow выполняет процесс записи содержимого edit control в свой внутренний буфер, естественно выполнив соответствующие проверки, как-то конвертирование строки в соответствующий формат данных, проверка правил валидации, тех что прописаны в validation Expression. Что бы программным способом сбросить данные из edit control в буфер dataWindow необходимо использовать accepttext() . То есть имеено эта команда "выводит" элемент (поле) dataWindow из режима редактирования. О чем Вовик собственно и спрашивал. авторТогда перефразирую вопрос : можно ли с помощью кода "вывести" элемент (поле) dw из режима редактирования? Если просто сделать Код: plaintext
То последние изменения сделанные пользовтелем не будут пернесены в другое DW, потому что Event clicked(...) сделанное в текущей ячейке не вызовет автоматического сброса содержимого edit control в буфер datawindow. Поэтому чтобы избежать гемороя в дальнейшем себе дешевле убедиться, что данные были записаны в буфер dataWindow Поэтому мой рецепт примерно такой: Код: plaintext 1. 2. 3. 4. 5. 6.
PS. Подробности можно прочесть в DataWindow Programmer's Guide , Chapter 2 Using DataWindow Objects, Manipulating data in DataWindow control . ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 14:25 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Ермак, ты конечно молодец! Но! если парню - Вовику надо скопировать записи из одной DW в другую (типа RowsCopy и RowsMove), то AcceptTect еще раз говорю и утверждаю НАФИГ НЕ НУЖЕН!!! ВСЕ ПЕРЕНЕСЕТСЯ ПРОСТО НА УРА!!! Если не веришь то попробуй и не фиг втирать тут всякую лажу :-)) Это шутка, просьба не обижаться... Но перед тем как утверждать что-то надо хотябы подумать и попробывать. С уважением, Я. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 14:42 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Я не говорил что без accepttext() - это работать не будет. Перед тем как что-то написать я всегда стараюсь всё (или почти всё) проверить. Однако: Можно обойтись и без POST если в dataWindow для всех полей установить tabSequince = 0, но не думаю, что это будет хорошо для пользователей Можно спокойно обойтись и без aceptText() если все поля в dataWindow readOnly и это тоже не есть хорошо для пользователей. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 15:09 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Ермак, блин я смотрю ты великий перестраховщик, так и пиши в следующий раз, ну тогда как согласуются эти два выражения (ответь сам себе на них и все прекрасно поймешь) авторЯ не говорил что без accepttext() - это работать не будет. и авторТо последние изменения сделанные пользовтелем не будут пернесены в другое DW, потому что Event clicked(...) сделанное в текущей ячейке не вызовет автоматического сброса содержимого edit control в буфер datawindow. Согласись полное противоречивание своим же высказываниям, а по поводу авториспользовать accepttext(). То есть имеено эта команда "выводит" элемент (поле) dataWindow из режима редактирования вообще и говорить не стоит :-)) Ладно трепаться больше не хочу, Вовик же получил, что хотел... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 15:38 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Не вижу никакого притиворечия. По моему все мои высказывания ни коим образом не противоречат друг другу. Без использования accepttEXT() POST drag() работать будет, но что бы заметить разницу достаточно просто сравнить твой вариант и предложенный мной. Выводы делайте сами. Я рассказал свой взгляд на проблему. Если есть другой, то мне всё равно. А уж насчет перестраховщик - это ты молодец, мне понравилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 17:55 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Несмотря на кашевидное изложение мыслей, насчёт интерфейса г-н Я Guest прав. Всяческие Drag операции на редактируемых элементах - это странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 18:51 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
На самом деле ничего странного. Поля вообще-то не редактируемые, а DisplayOnly. Но фокус ввода на них может устанавливаться, отсюда и возникает курсор. Само DW типа Grid, поэтому трудно кликнуть где-либо вне поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 20:33 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Тогда зачем они DisplayOnly? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2003, 22:17 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Ну например для того чтобы скопировать значение поля в клипборду. Если таббордер - 0. Это сделать затруднительно ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2003, 11:04 |
|
Drag( Begin! ) и Editable Column
|
|||
---|---|---|---|
#18+
Узко мыслите товрищч andy753 , да и не тому объяснять взялись, для чего DisplayOnly использоваться может :-) Автор же супер удобный юзер интерфейс с Drag and Drop делает. В таком случае нужно просто маркер на ряд сделать. Если за него потянул, значит операция на весь ряд, если за конкретное поле потянул, значит копирование в клипборд, вот и всё. При этом никакой непоследовательности в интерфейсе не наблюдается... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2003, 19:08 |
|
|
start [/forum/topic.php?fid=15&fpage=111&tid=1339378]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 231ms |
total: | 378ms |
0 / 0 |