unit CbStrGrid;
{************************擴展的TStringGrid控件TcbStrGrid********************
[功能簡介] 增強的字符串表格控件,主要功能有
1.在strGrid上顯示帶CheckBox的列;
2.設置列標題及列數據對齊方式,列數據的顯示方式,如按貨幣的方式,數字的方式;
若是按貨幣/數字方式顯示的話,能進行輸入控制,即只能輸入數字。
3.自動生成行號,設置要顯示合計的行,自動求合計;
4.加入清除表格clear方法等
[實現思想]
1.重載DrawCell方法。按照屬性的設置情況,自定義畫出顯示的內容。
而實際的值保持不變。
2.重載SelectCell方法實現設置只讀列等。
3.重載SizeChanged方法實現自動添加行號
4.根據上面的方法其實你可以做得更多,包括
在表格中畫圖片,進度條等
綁定數據集,相信會對做三層很有幫助。
[關鍵屬性/方法]
集合字符串,特指以數字和,構成的字符串,如 '1,2,3'
1.procedure clear; //清空表格中的數據
2.procedure DOSumAll; //對所有的數字列/貨幣求和
property OnSumValueChanged: TSumValueChanged
合計值發生變化時觸發
property DisplaySumRow: Boolean
是否要顯示合計,要顯示合計,則用戶在strGrid上編輯時,自動更新合計值,若要手動更新合計,
請調用DOSumAll方法
3.property CheckColumnIndex:integer //設置帶checkBox的列
property OnCheckChanged: TCheckChanged
當鼠標/空格鍵操作導致checkBox列的值發生變化時觸發該事件
注意: 只是響應了鼠標/鍵盤在strGrid上操作,當在程序中賦值而導致的checkbox變化時,該事件並不觸發
function NonChecked: boolean; //若沒有check選擇任何行返回True;
4.property TitleAlign: TTitleAlign //標題對齊方式
5.property ColsCurrency: String //以貨幣方式顯示的列的集合字符串
property ColsNumber: String //以數字方式顯示的列的集合字符串
property ColsAlignLeft: String //向左靠齊顯示的列的集合字符串
property ColsAlignCenter: String //居中顯示的列的集合字符串
property ColsAlignRight: String //向右靠齊顯示的列的集合字符串
注意:設置時請不要重復設置列,包括checkColumnIndex,為什麼呢? 請看源代碼
6.property ColsReadOnly: string //設置只讀的列的集合字符串,其他的列可以直接編輯
[注意事項]
按方向鍵有點畫FocusRect時有點小問題。
[修改日志]
作者: majorsoft(楊美忠) 創建日期: 2004-6-6 修改日期 2004-6-8 Ver0.92
Email:
[email protected] QQ:122646527 (dfw) 歡迎指教!
[版權聲明] Ver0.92
該程序版權為majorsoft(楊美忠)所有,你可以免費地使用、修改、轉載,不過請附帶上本段注釋,
請尊重別人的勞動成果,謝謝。
****************************************************************************}
interface
uses
Windows, SysUtils, Classes, Controls, Grids, Graphics;
const
STRSUM='合計';
type
T
[1] [2] [3] [4] [5] [6] [7] 下一頁