Naeel Maqsudov » 11 окт 2005, 21:00
Самый простой способ - это положить на форму ComboBox с visible=false и на событие OnSelectSell (OnSelectSell - не точно, не помню точное название) перемещать его на ячейку, заполнять список и делать видимым. Соответственно прятать при уходе из данной колонки или вообще из грида. Некрасивое на первый взгляд решение, но сами гриды так и делают. Когда курсор оказывается в ячейке, то на ячейку накладывается другой элемент управления - TInlineEditor.
Чуть более изящный способ - это найти исходники (grids.pas) TInlineEditor, сделать свой аналогичный, но с комбобоксом, и встроить в уже созданный грид. У грида есть свойство InlineEditor, и хотя оно Protected его все равно можно присвоить используя полиморфизм.
Самый эффективный - субклассить TCustomGrid, чтобы прикрутить к нему новый InlineEditor. Наверняка такой велосипед давно уже изобретен и его можно поискать на сайтах с готовыми компонентами.
Самый простой способ - это положить на форму ComboBox с visible=false и на событие OnSelectSell (OnSelectSell - не точно, не помню точное название) перемещать его на ячейку, заполнять список и делать видимым. Соответственно прятать при уходе из данной колонки или вообще из грида. Некрасивое на первый взгляд решение, но сами гриды так и делают. Когда курсор оказывается в ячейке, то на ячейку накладывается другой элемент управления - TInlineEditor.
Чуть более изящный способ - это найти исходники (grids.pas) TInlineEditor, сделать свой аналогичный, но с комбобоксом, и встроить в уже созданный грид. У грида есть свойство InlineEditor, и хотя оно Protected его все равно можно присвоить используя полиморфизм.
Самый эффективный - субклассить TCustomGrid, чтобы прикрутить к нему новый InlineEditor. Наверняка такой велосипед давно уже изобретен и его можно поискать на сайтах с готовыми компонентами.