2013-06-29 2 views
0

Я хочу получить данные из определенной ячейки в DBGrid? Как я могу сделать это в Delphi 7? Я знаю, что с помощью Stringgrid вам было легко использовать StringGrid1.Cells[2,1], если вы хотите показать строку 2 столбца 1, но есть ли способ сделать это с помощью DBGrid?Как указать ячейку в DBGrid?

ответ

2

TDBGrid не содержит данных; который исходит от подключенного TDataSet. Таким образом, чтобы получить информацию, вы сами читаете базу данных. Текущей строкой в ​​DBGrid является текущая запись (строка) в DataSet, а столбец - TField, подключенный к столбцу в этой строке.

Так что, если вы хотите прочитать из третьего столбца в сетке, и что колонна прикрепляется к полю с именем «Клиент» в наборе данных, вы бы просто прочитать это поле:

Customer := DBGrid1.DataSource.DataSet.FieldByName('Customer').AsString; 

Или , конечно, лучше (поскольку у вас должен быть доступ к набору данных непосредственно в вашем коде):

+0

Извините. Я не понимаю, что означает ваш комментарий. Я точно объяснил, как получить данные. –

+0

С помощью метода, который вы мне дали, я все еще не могу попасть во вторую строку «DBGrid»? Я могу получить все значения первой строки. Но является ли их способ получить данные из второй строки ext? – 4DaMouf

+1

Да. Переместите указатель записи в следующую строку, используя 'DBGrid1.DataSource.DataSet.Next;' или 'CustomerTable.Next;'. В сетке нет данных (как я сказал в первом предложении) - вы ** должны ** прочитать его из самой таблицы. –