程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 從獲取DBGrid行號想到的

從獲取DBGrid行號想到的

編輯:Delphi
這是很多人經常需要實現的功能,但是TDbgrid類並沒有提供類似col和row的屬性,所以不能直接獲得這些信息。所以有很多朋友就開始從DataSource來開始想辦法。但是我們靜下心來考慮,雖然TDbgrid沒有提供col和row屬性,但是他的基類TCustomGrid卻是實現了row和col屬性。因此我們可以重新派生一個叫做的TMgrid的類來輸出row和col屬性,並將dbgrid的實例強制轉換成TMgrid ,既可准確快速的獲取這兩個屬性了,代碼如下: Type    TMgrid = class (TDbgrid);   … Begin …   ShowMessage(IntToStr(TMgird(DbGrid1).row));   ShowMessage(IntToStr(TMgird(DbGrid1).rol)); … End;   從這個例子中我們不難得到這樣的啟示,當我們無法從當前使用的類直接獲取我們需要的信息時,不要急於求成而繞彎路,我們可以去考察一下它的基類(基類的基類…,一直找上去),是否為我們提供了我們需要的信息。如果有,我們可以簡單的從當前類來繼承一個新的類(當然你也可以從它的基類直接繼承,例如上面的例子,TMgrids甚至可以從TCustomGrid類來繼承。但是為了安全起見,我建議直接從當前類來繼承),然後強制轉換當前對象為新的類型,這時我們就可以非常容易獲得我們需要的信息。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved