![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| welt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 21.5.2005 Где: UnderGround Репутация: нет Всего: нет |
Я пишу программу для экспорта данных из Excel в StringGrid и их редактирования.
У меня несколько вопросов. 1-ый Впорос такой: на форме есть StringGrid. Как сделать чтобы можно было редактировать данные в ячейках только для определенного стольбца/строки, а не для всей таблицы? (Для всей таблицы это делается легко: options -> goEditing.) Допустим по нажатию кнопки, строка 5(т.е. все ячейки в ней) была бы доступна для редактирования? Вот код для экспорта из Эксель в СтрингГрид:
2-ый Впорос такой: Как завершить excel по закрытию программы, чтобы его небыло в процессах? 3-ый Впорос такой: Допустим я изменяю текст в определенной ячейке (Например StringGrid1.Cells[2,3]) Как сделать, чтобы изменеия можно было сохранить в том же файле book1.xls, из которого я импротировал данные ? Заранее спасибо. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
1 -- в OnSelectCell смотри ряд/строку/условие. и добавляй/удаляй в Options goEditing
2 -- поиск по форуму 3 -- экспортировать изменения в тот же файл book1.xls, из которого ты импротировал данные P.S. один топик -- один вопрос -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| welt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 21.5.2005 Где: UnderGround Репутация: нет Всего: нет |
_hunter,
По пункту 1:
Что именно нужно прописать? Может быть ты неправильно понял: нужно, чтобы по нажатию кнопки, строка N/столбец N (т.е. все ячейки в стоке/столбце) была бы доступна для редактирования. (причем, только определенная строка/столбец) |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
нужно прописать ЕСЛИ (кнопка_была_нажата И строка == N И столбец == K [наверное это имелось в виду] ) ТО добавляем в множество Options элемент goEditing ИНАЧЕ убираем из множества Options элемент goEditing
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| welt |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 21.5.2005 Где: UnderGround Репутация: нет Всего: нет |
ок, спасибо, _hunter.
Теперь еще такой вопрос: Я создаю на stringGrid1 массив из кнопок-вертикальный ряд кнопок сверху вниз. Эти кнопки располагаются на левом столбце СтрингГрида. Создаю я их так:
В кнопке2 прописано так:
Задача в том, чтобы по нажатию на каждую из созданный кнопок, появлялась бы форма2. Причем заметьте, если в цикле вместо form1.StringGrid1.InsertControl(btns[i]); написать так form1.InsertControl(btns[i]); то все вроде бы нормально: по нажатию на эти кнопочки-форма появляется... Но дело все в том, что эти кнопки уже лежат не на СтрингГриде, а на форме. А нужно, чтобы они лежали на СтрингГриде. Вроде бы, еще можно чтобы в роли кнопок были FixCols, но я не знаю как в них OnClick обрабатывать.... Если кто-нибудь подскажет выход из этой ситуации.. то буду очень благодарен |
||||
|
|||||
| Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
-------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
| welt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 21.5.2005 Где: UnderGround Репутация: нет Всего: нет |
Albinos_x, я это в цикл дописал,
кнопочки появляются как и прежде, но при нажатии на них форма2 не появляется. А что значит цифра "5" ? Можно ли вообще так сделать или подскажите кто-нибудь как сделать, чтобы FixCols были ввиде кнопок. |
|||
|
||||
| welt |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 21.5.2005 Где: UnderGround Репутация: нет Всего: нет |
||||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
по вышеописанной проблеме -- явно кнопка создается не там/не нажимается.
поставь точку останова в Button2Click посмотри приходит ли сюда выполнение Добавлено @ 12:02 по нажатию на фиксированные ячейки: увеличиваем FixedCols/Rows до двух и в обработчике OnClick сетки с помощью MouseToCell смотрим где мы тыкнули -- если 0-й ряд/строка -- вызываем функцию показа формы; иначе ничего не делаем -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |