![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Edit и ComboBox в DBGrid [D6, D7, Win2k, WinXP]
blackcrazzy © (2006-05-31 15:57:00)Всем, доброго времени суток. Такой вопрос: надо чтобы при клике по ячейке в DBGrid появлялся Edit или ComboBox. Как их высветить и передать из них данные знаю, не знаю как определить положение и размер выделенной ячейки, чтобы присвоить их этим элементам(Edit и ComboBox).
гостьььь (2006-06-19 15:38:00) [1]И ещё так сказать до кучи, что бы без вопросов
http://www.megalib.com/books/478/1561.htm
гостьььь (2006-06-19 14:54:00) [2]http://articles.org.ru/myfaq/faq0201e.php
blackcrazzy (2006-06-06 09:18:00) [3]Похоже, никто не подскажет. Чтож тему можо закрывать, ничего полезного по данному вопросу в этой ветке нет. StringGrid к теме не относится.
blackcrazzy (2006-06-01 07:48:00) [4]Он ещё Col и Row не знает, а эти то параметры у DBGrid есть.
tesseract (2006-05-31 23:17:00) [5]
> Приводит к:Undeclared identifier: 'CellRect' и т.д.Все модули
> подключены к проекту.MainGrid: TDBGrid
У меня StringGrid. У DbGrid немного другие параметры, если не ошибаюсь.
blackcrazzy (2006-05-31 22:30:00) [6]
> tesseract ©
procedure TMainForm.MainGridCellClick(Column: TColumn);
begin
UslugiBox.Left:=MainGrid.CellRect(MainGrid.Col,MainGrid.Row).Left;
UslugiBox.Top:=MainGrid.CellRect(MainGrid.Col,MainGrid.Row).Top;
end;
Приводит к:
Undeclared identifier: 'CellRect' и т.д.
Все модули подключены к проекту.
MainGrid: TDBGrid
blackcrazzy (2006-05-31 18:40:00) [7]
> tesseract © (31.05.06 17:57) [11]
Спасибо. Нужен был как раз код для получения размеров и положения ячейки имеющей в данный момент фокус. Попробую, завтра напишу о результатах.
tesseract (2006-05-31 17:59:00) [8]Вставлять и в onClick и в OnkeyDown по VK_RETURN;
В обсчем помучаешься ещё.
tesseract (2006-05-31 17:57:00) [9]Пример с combobox :
function GetCoord(StrGrid:TStringGrid):contrlREc;
begin
Result.Height:=StrGrid.RowHeights[StrGrid.Row];
Result.Width:=StrGrid.ColWidths[StrGrid.Col];
Result.Top:=StrGrid.CellRect(StrGrid.Col,StrGrid.Row).Top;
Result.Left:=StrGrid.CellRect(StrGrid.Col,StrGrid.Row).Left;
end;
case sgGrid.Col of
1:begin
with cbBox do begin
Visible:=true;
temp:=GetCoord(sgTovar);
Width:=temp.Width+1;
Height:=temp.Height+1;
Left:=Temp.Left+1;
Top:=Temp.Top+sgGrid.Top+1;
end;
exit;
end;
0_o (2006-05-31 17:47:00) [10]Юзай сторонние компоненты, к примеру хороший пакет есть у Developer Express,
там компонент dxDBGrid - великолепная весч!
Игорь Шевченко (2006-05-31 17:31:00) [11]Amoeba © (31.05.06 16:17) [3]
> Не смеши!
В ряде случаев специализированный элемент управления в гриде действительно удобнее. Дядьки из Developer Express не зря свой хлеб едят, верно ?
Desdechado (2006-05-31 16:57:00) [12]самоделкиным посвящается....
а что, по-твоему, представляют из себя клетки в гриде, когда ты в них тыкаешь?
@Lex (2006-05-31 16:49:00) [13]см. в сторону DBGrid1.MouseCoord(...);
blackcrazzy (2006-05-31 16:44:00) [14]геморроя крайне мало, все описывается максимум в 4-8 строк.делается за 5-10 минут.
Amoeba (2006-05-31 16:33:00) [15]
> blackcrazzy © (31.05.06 16:28) [4]
>
> > Amoeba © (31.05.06 16:17) [3]
>
>
> > Не смеши!
>
> А по существу ответить слабо?
> Читал как это сделать пару дней назад, но забыл где, по-
> моему, на этом сайте.
Зачем тебе нужен изрядный геморой и трата кучи времени ради более чем сомнительной пользы?
blackcrazzy (2006-05-31 16:28:00) [16]
> Amoeba © (31.05.06 16:17) [3]
> Не смеши!
А по существу ответить слабо?
Читал как это сделать пару дней назад, но забыл где, по-моему, на этом сайте.
Amoeba (2006-05-31 16:17:00) [17]
> blackcrazzy © (31.05.06 16:10) [2]
> надо чтобы Edit или ComboBox встали вместо ячейки. И глазу
> приятней и пользоватлю удобней
Не смеши!
blackcrazzy (2006-05-31 16:10:00) [18]надо чтобы Edit или ComboBox встали вместо ячейки. И глазу приятней и пользоватлю удобней
Desdechado (2006-05-31 16:01:00) [19]а зачем?!
там же это все есть
эдит умолчательный, а комбо либо из Lookup-поля, либо из PickList'а