TDBGrid та індекс вибраного рядка
Хлопці, як отримати індекс обраного рядка в гриві сабжа? .SelectedIndex - це індекс ітема у рядку. В опціях грида поставив галочку – RowSelect – true. Теж саме.
TDataSet.RecNo Indicates the active record в the dataset.
Як реалізовано в TDataSet, значення RecNo is always -1. Ординарно application не access Access RecNo at the TDataSet level. Instead redeclared і implemented RecNo property in descendant class such as TTable is accessed. RecNo забезпечує fallback properties for derived datasets that do no support record numbers.
Тобто. використовуй як DataSet або TTable або TClientDataSet. Можна і інакше перекрутитися.
А навіщо тобі саме RecNo?
Як ДатаСета у мене TQuery :-) Коротше, що мені треба. Грид відображає частину записом, виділяти у ньому можна лише рядки. При виділенні рядка потрібно рахувати відповідне поле, яке не відображається в гриді. Дякую.
Звертайся безпосередньо до датасету (а не гриду). При цьому в тебе буде "братися" саме поточний запис датасета (тобто той, що в гриді виділяється як активний рядок). До будь-якого поля незалежно від того, відображається воно чи ні, звертайся через TDataSet.FieldByName.
Алексій34 (18.01.05 11:33) [5]1. При виділенні рядка в гриді, пов'язаний з гридом, набір даних встановлюється на запис, відображений у рядку. 2. При виділенні кількох рядків, відповідні їм закладки зберігаються як SelectedRows грида.
Джерела: Довідка Delphi, книги з програмування.
>звертайся через TDataSet.FieldByName.
Ohh yeahhh! Це працює. Thanks.