Кто работал с Dbgrideh помогите плиз

  • Автор темы Автор темы Elvis
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
E

Elvis

У меня есть ДБГридЕх
При двойном клике надо выдрать индекс кликнутой строки.
Код:
i := dbgeResults.SelectedRows.IndexOf('UID');

ShowMessage(IntToStr(i));
Результат напостой -1
ЧТО Я ДЕЛАЮ НЕ ТАК?
UID - название столбца в гриде который связан полем датасета
 
Колонки со строками перепутываете.

Код:
i := dbgeResults.SelectedCols.IndexOf('UID');

ShowMessage(IntToStr(i));
 
<!--QuoteBegin-Poseidon+30:08:2005, 16:17 -->
<span class="vbquote">(Poseidon @ 30:08:2005, 16:17 )</span><!--QuoteEBegin-->Колонки со строками перепутываете.

Код:
i := dbgeResults.SelectedCols.IndexOf('UID');

ShowMessage(IntToStr(i));
[snapback]24300" rel="nofollow" target="_blank[/snapback]​
[/quote]

Не перепутывал мне нужен был именно индекс строки а не колонки
надо былое делать так:
Код:
 DBGridEh1.DataSource.DataSet.RecordNo
и так всё работает
Чё поделаешь я зелёный ещё :)
 
В общем случае RecNo может вернуть значение -1, так что на него опираться не сильно следует...
 
Так я это вызываю только при двойном клике (Щас переделал при нажатии на Ентер) так что полюбому какой-то индекс он вернёт а датасет не может быть пустым так как если он пустой то оекно не загружается
События нажатия обрабатывается на OnGridKeyPress что то в этом роде (в падлу делфи запускать и проверять как там правильно событие описанно)
 
ДатаСет может быть и не пустым ... даже совсем не пустым .. а свойство RecNo может вернуть -1.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!