2013-06-29 119 views
0

我想從DBGrid中的特定單元格中獲取數據?我如何在Delphi 7中執行此操作?我知道用Stringgrid很容易,如果你想要顯示第2行第1列,只用StringGrid1.Cells[2,1],但是有什麼辦法可以用DBGrid來完成這個任務嗎?如何在DBGrid中指定單元格?

回答

2

TDBGrid不包含任何數據;來自相連的TDataSet。因此,要檢索信息,您需要閱讀數據庫本身。 DBGrid中的當前行是DataSet中的當前記錄(行),並且該列是連接到該行中列的TField

所以,如果你想從在網格中的第三列讀取,並且該列連接到一個名爲數據集中的「客戶」字段,你剛纔讀的領域:

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

或者,當然更好(因爲你應該直接在你的代碼中訪問數據集):

Customer := CustomerTable.FieldByName('Customer').AsString; 
+0

對不起。我不明白你的意見是什麼意思。我已經解釋瞭如何獲取數據。 –

+0

用你給我的方法,我仍然不能進入'DBGrid'的第二行?我可以得到第一行的所有值。但是他們是從第二行獲取數據的一種方式嗎? – 4DaMouf

+1

是的。使用'DBGrid1.DataSource.DataSet.Next;'或'CustomerTable.Next;'將記錄指針移動到下一行。網格沒有數據(正如我在第一句中所說的) - 你必須**從表格本身讀取它。 –

相關問題