| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Таблица со списками |
| Автор: WhiteSNAKE 4.8.2006, 18:20 |
| Приветствую! Подскажите, как мне создать таблицу в которой ячейки будут как ComboBox, т.е. реализовать выбор значения ячейки. |
| Автор: Guedda 4.8.2006, 19:09 |
| Есть такой компонент CheckListBox. он как раз тебе и нужен. |
| Автор: dumb 4.8.2006, 19:15 |
| скорее уж TValueListEditor |
| Автор: Guedda 4.8.2006, 19:17 |
Можно и его... Запамятовал про него совсем... |
| Автор: WhiteSNAKE 4.8.2006, 22:34 |
| Не-а, это не подходит Добавлено @ 22:37 ![]() |
| Автор: Albinos_x 4.8.2006, 22:51 | ||
| вставляй в StringGrid ComboBox пример кода. Combobox вставится в ячейку 1,1
|
| Автор: WhiteSNAKE 4.8.2006, 23:32 |
| На 11-ой строчке (StringGrid1.Objects[1,1].AfterConstruction;) появляется CPU window, а затем и ошибка Или это я - того... (новичек в смысле |
| Автор: WhiteSNAKE 5.8.2006, 16:00 |
| Ну, блин! Офигительное тебе, Albinos_x, спасибо! Будешь в Солигорске (Беларусь) - пивка обязательно попьем Добавлено @ 16:11 |
| Автор: Albinos_x 5.8.2006, 22:58 |
| Был рад помочь Заглядывайте ещё... |
| Автор: Albinos_x 17.8.2006, 19:38 | ||||||
| 1. WhiteSNAKE, в следующий раз лучше создавай отдельную тему для этого, или т.к. вопрос фактически не решён пиши в той же теме... а не пиши в личку... я могу на форуме длительное время не появляться, поэтому ответа можешь ждать долго... 2.
обращаться можно по координатам, т.к. у StringGrid есть свойство Objects, куда мы и вставляем ComboBox... 3.
она делает все ComboBox-ы, но прорисовываем мы их в ручную, поэтому при прокрутке необходимо перерисовывать их заново (перерисовывать, а не создавать заново!!!)... 4. Пример всего сказанного выше:
код снесённый в примечание, должен обеспечивать отказ в прорисовке, если ячейку видно не полностью... |
| Автор: WhiteSNAKE 26.8.2006, 15:03 |
| Спасибо тебе большое!!! Долго не заходил потому, что мопед грёбнулся после грозы (сетевой фильтр гно...) пришлось через свой телефон в сетку залазить. Наверное достал уже, но всё таки как достать эти значения??? Мне нужно всё это передать в двумерный массив для последующих расчетов. Смотрю свойство Objects но там нельзя выбрать ItemIndex и потом ведь т.к. это процедура, то все данные теряются, получается что после того как все данные введены, надо заново запускать эту же процедуру и из неё уже передавать значения в сам StringGrid или в матрицу. Я что-то пытался, но нифига не получается, да и почитать негде... В DRKB тоже ничего нет. Где найти чего-нибудь путного??? |
| Автор: Albinos_x 27.8.2006, 11:33 | ||||||
я же приводил пример, как обращаться к объекту:
??? почему нельзя??? всё можно...
почему теряются??? ничего не теряется... всё хранится в StringGrid1.Objects... вот пример ещё один, более совершенный:
Button1Click - создание комбобоксов в ячейках Button2Click - добавление во все комбобоксы значения и установки ItemIndex:=0 Button3Click - перенос выбранных или набранных значений из ячеек-комбобоксов во второй StringGrid FormDestroy - освобождение памяти StringGrid1TopLeftChanged - событие прокрутки StringGrid1 PresEnterCombo - обработка события нажатия Enter, при этом набранное значение добавляется в список Комбобокса DrawComboStringGrid - перерисовка Комбобоксов в StringGrid ComboboxInStringGrid - вставка комбобокса в ячейку StringGrid-а Добавлено @ 11:45 вот пример тебе ещё прикрепляю |
| Автор: Albinos_x 27.8.2006, 12:43 | ||
вот сделал для тебя набор функций для работы с этими комбобоксами:
|
| Автор: WhiteSNAKE 31.8.2006, 23:45 |
| Спасибо большое!!! |
| Автор: Albinos_x 1.9.2006, 04:47 |
| Был рад помоч. Заглядывай ещё |