![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Координаты сетки DBGrid [D7, MSSQL]
Ольга © (2006-12-04 13:48:00)Уважаемые мастера,
подскажите можно ли определить координаты выбранной ячейки (строки) в DBGrid. Заранее спасибо.
MsGuns (2006-12-09 01:41:00) [1]>Литейщик (08.12.06 17:33) [14]
>девица дело говорит...
"Дело" было сказано в [6]
Литейщик (2006-12-08 17:33:00) [2]Вот вот. Подчиненные гриды под строчкой это круто. Взгляните на Access подчиненные табличные формы. По сути, это единственное, чего мне в Delphi не хватает. Проблема в закрывании строк. Вот их раздвигать бы как-нибудь...
Ну и координаты ячейки бы тут весьма пригодились, девица дело говорит...
MsGuns (2006-12-05 18:15:00) [3]Вы неправы, ребята ;)
При достаточно "нагруженном" интерфейсе очень уместно показывать "всплывающие" панельки. В т.ч. и с гридами
ANB (2006-12-05 16:48:00) [4]
> Грид, закрывающий часть другого грида? Уродство...
Ктоб спорил. Чего я и не стал подробно копаться.
Desdechado (2006-12-05 16:45:00) [5]ANB © (05.12.06 16:15) [10]
Грид, закрывающий часть другого грида? Уродство...
ANB (2006-12-05 16:15:00) [6]
> Desdechado © (05.12.06 15:46) [9]
Не, судя по всему, она хочет грид с детальной инфой в это место подклеивать.
Desdechado (2006-12-05 15:46:00) [7]ANB © (05.12.06 12:10) [8]
Подозреваю, что таки текущая запись.
Хотя, может в крутом хинте что-то показывать...
ANB (2006-12-05 12:10:00) [8]
> Допустим твой грид связан с компонентом ADOQuery1. Тогда
> вот так ADOQuery.FieldValues['столбец']
Ей не значение поля, а координаты ячейки нужны.
Монг (2006-12-05 07:17:00) [9]Допустим твой грид связан с компонентом ADOQuery1. Тогда вот так ADOQuery.FieldValues['столбец']
MsGuns (2006-12-05 00:13:00) [10]
type
TDBGridCrack = class (TCustomGrid);
function DBServ_GetActiveGridCellRect(Grid: TDBGrid): TRect;
//*** Возвращает TRect активной ячейки грида
begin
result.Top := 0; result.Left := 0; result.Bottom := 0; result.Right := 0;
if dgRowSelect in Grid.Options then exit;
if Grid.DataSource.DataSet.RecordCount=0 then exit;
result := TDBGridCrack(Grid).CellRect(TDBGridCrack(Grid).Col,TDBGridCrack(Grid).Row);
end;
ANB (2006-12-04 16:32:00) [11]
> Хотелось бы под выбранной строкой (сводная инф. по отделу)
> показать DBGrid с информацией по работникам из этого отдела.
>
Я так понимаю, по нажатию некой кнопочки.
Хм. Я не нашел методы расчета координат выбранной ячейки. Разве что запоминать ее в обработчике DrawColumnCell.
Sergey13 (2006-12-04 14:49:00) [12]> [2] Ольга (04.12.06 14:42)
Если строка выбрана, то датасет уже спозиционирован на нужную строку. Достаточно прочитать значение нужного поля и передать его в детальный датасет.
Ega23 (2006-12-04 14:48:00) [13]Мастер-деталь уже не канает?
Ольга (2006-12-04 14:42:00) [14]Хотелось бы под выбранной строкой (сводная инф. по отделу) показать DBGrid с информацией по работникам из этого отдела.
ANB (2006-12-04 14:24:00) [15]Можно :)
Ответ зависит от места, где ты будешь использовать этот код.
Озвучь ТЗ поподробнее - зачем это нужно.