имеются две колонки в Excel. Необходимо вывести куда нибудь на форму две таблицы.

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
![]() ![]() |
![]() |
marwell |
![]() ![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
доброго дня
имеются две колонки в Excel. Необходимо вывести куда нибудь на форму две таблицы. ![]() |
IUnknown |
![]()
Сообщение
#2
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: ![]() ![]() ![]() |
Да хоть StringGrid. Что, нельзя в его ячейку затолкать ComboBox? Можно
|
marwell |
![]()
Сообщение
#3
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
спасибо! |
marwell |
![]()
Сообщение
#4
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
хм, видимо что то делаю не так. Не добавляются строки в ComboBox
|
marwell |
![]()
Сообщение
#5
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
хм, строки появляются, но каким то странным образом. после клика на ячейке и прокручивания мышки
![]() а нужен раскрывающийся список |
IUnknown |
![]()
Сообщение
#6
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: ![]() ![]() ![]() |
Не понял, что у тебя не так работает?
Тебе что, надо чтоб сразу после клика на ячейку вылетал этот самый выпадающий список? Добавь вот эту строку: procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; |
marwell |
![]()
Сообщение
#7
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
спасибо, сработало
а можно еще вопрос: событие OnClick срабатывает при выборе одного из значений из списка, OnExit - при выходе из ComboBox. Зачем в обеих случаях нужен одинаковый кусок кода? Одного не достаточно? {Получаем выбранный элемент из ComboBox и помещаем его в грид} |
marwell |
![]()
Сообщение
#8
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
чтож за беда такая с этой таблицей
![]() хочу вставить в соседнюю ячейку число, соответствующее выбранному в ComboBox. Пишу так: procedure TForm1.ComboBox1Exit(Sender: TObject); вылетает с ошибкой на строчке StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row+1]:=Sheet.Cells[StringGrid1.Col,2].Text; вроде все правильно же делаю... Сообщение отредактировано: marwell - |
marwell |
![]()
Сообщение
#9
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
эхэх, чет совсем засиделся
E.Workbooks[1].Close; забыл убрать оказывается |
IUnknown |
![]()
Сообщение
#10
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: ![]() ![]() ![]() |
Цитата событие OnClick срабатывает при выборе одного из значений из списка, OnExit - при выходе из ComboBox. Зачем в обеих случаях нужен одинаковый кусок кода? И у меня тоже вопрос: а кто вообще изначально говорил про OnClick? Там был OnChange вообще-то. OnClick - это уже твоя придумка.Не нравится дублирование кода - вынеси этот код в отдельную процедуру и вызывай по обоим событиям. |
marwell |
![]()
Сообщение
#11
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
И у меня тоже вопрос: а кто вообще изначально говорил про OnClick? Там был OnChange вообще-то. OnClick - это уже твоя придумка. прошу прощения, действительно мое. P.S если еще будут вопросы про этот же StringGrid или ComboBox, можно писать в эту же тему, или надо создавать новую? |
IUnknown |
![]()
Сообщение
#12
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: ![]() ![]() ![]() |
Ну, если про этот же - то чего размазывать по разным темам? Пиши сюда
![]() |
marwell |
![]()
Сообщение
#13
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
после выбора строки в ComboBox, выбранная строка вставляется в ячейку, и курсор переход на след ячейку вниз, и соответственно опять раскрывается ComboBox. Можно ли запретить такой автоматический переход? В свойствах StringGrida не нашел
|
marwell |
![]()
Сообщение
#14
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
думал может в конце события OnExit у ComboBox запомнить stringgrid1.col и stringgrid1.row и "не дать им измениться", но это что то совсем не то
Сообщение отредактировано: marwell - |
IUnknown |
![]()
Сообщение
#15
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: ![]() ![]() ![]() |
Цитата после выбора строки в ComboBox, выбранная строка вставляется в ячейку, и курсор переход на след ячейку вниз Не воспроизводится. Может, ты еще что-нибудь добавлял в свойства ComboBox-а? Очень похоже, что у тебя происходит не одинарный, а двойной клик для выбора элемента.Вообще не должно быть такого перехода, попробуй на чистом гриде, или даже на этом же, введи данные в обычную ячейку (без комбобокса), и нажми Enter - фокус останется на этой же ячейке. |
marwell |
![]()
Сообщение
#16
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не воспроизводится. Может, ты еще что-нибудь добавлял в свойства ComboBox-а? Очень похоже, что у тебя происходит не одинарный, а двойной клик для выбора элемента. Вообще не должно быть такого перехода, попробуй на чистом гриде, или даже на этом же, введи данные в обычную ячейку (без комбобокса), и нажми Enter - фокус останется на этой же ячейке. да, действительно, на чистом гриде все именно так работает. А на том гриде почему то по другому. Непонятно почему. В комбобоксе только два события описаны: OnChange и OnExit. Срабатывает на одинарное нажатие. Других свойств вроде не добавлял Добавлено через 6 мин. гм, попытаюсь объяснить. После клика на ячейке раскрывается список, выбираем строку, строка вставляется в ячейку. Но, почему то как будто кнопка мыши остается нажатой и удерживаемой, как при выделении. Поэтому, при наведении курсора на другую ячейку, срабатывает событие одинарного клика и раскрывается комбобокс. Это происходит из-за комбобкса, вставленного в ячейку? Сообщение отредактировано: marwell - |
IUnknown |
![]()
Сообщение
#17
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: ![]() ![]() ![]() |
У меня не происходит выделения другой ячейки, вот в чем проблема. Закрывается комбобокс и фокус остается на ячейке, в которую было внесено значение. А я ведь скопировал в точности твой код. Может, от версии Дельфи зависит (в более новой чего-нибудь поправили, например)? У меня XE2, могу чуть позже на 2009-ой проверить.
|
marwell |
![]()
Сообщение
#18
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
У меня не происходит выделения другой ячейки, вот в чем проблема. Закрывается комбобокс и фокус остается на ячейке, в которую было внесено значение. А я ведь скопировал в точности твой код. Может, от версии Дельфи зависит (в более новой чего-нибудь поправили, например)? У меня XE2, могу чуть позже на 2009-ой проверить. странное поведение. У меня Delphi 7. Может скинуть папку с файлами проекта? Добавлено через 4 мин. хотя, может и кода хватит
|
IUnknown |
![]()
Сообщение
#19
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: ![]() ![]() ![]() |
Да, с этим кодом глючит. Попробую посмотреть, что не так...
|
marwell |
![]()
Сообщение
#20
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
![]() ![]() |
![]() |
Текстовая версия | 17.03.2025 6:31 |