創(chuàng)建一個(gè)Split對(duì)象
在設(shè)計(jì)時(shí),可以創(chuàng)建一個(gè)拆分,具體步驟是:右鍵單擊網(wǎng)格,單擊“編輯”,再單擊右鍵,然后單擊“拆分”。通過(guò)右鍵單擊該控件,并單擊“屬性”來(lái)顯示“屬性頁(yè)”對(duì)話框,可以編輯這個(gè)拆分。可以使用“拆分”選項(xiàng)卡來(lái)自定義拆分。要?jiǎng)h除一個(gè)拆分,右鍵單擊該拆分,并單擊“刪除”。
在運(yùn)行時(shí),最終用戶也可以通過(guò)單擊位于這個(gè)網(wǎng)格控件的左下邊的右邊的選項(xiàng)卡,以手工方式來(lái)拆分該網(wǎng)格(除非不允許這個(gè)操作),如下圖所示:
默認(rèn)情況下,DataGrid控件包含一個(gè)Split對(duì)象。防止最終用戶添加拆分的代碼為:
DataGrid1.Splits(0).AllowSizing=False
在程序中添加和刪除拆分
DataGrid控件包含一個(gè)Split對(duì)象的集合。要在程序中添加拆分,可以使用Add方法,如下所示:
DataGrid1.Splits.Add1
注意Add方法需要新的拆分索引作為其參數(shù)。要添加一個(gè)拆分,應(yīng)將這個(gè)索引參數(shù)設(shè)置為Splits集合的Count屬性值。
使用Split集合的Add方法,可以在程序中按照所實(shí)際需要添加拆分。由于添加多于兩個(gè)以上的拆分將使網(wǎng)格很難使用,可以使用該集合的Count屬性來(lái)限制拆分的數(shù)目。
IfDataGrid1.Splits.Count<3Then'添加一個(gè)拆分。
DataGrid1.Splits.AddDataGrid1.Splits.Count
EndIf
使拆分同步
當(dāng)拆分多于一個(gè)時(shí),可能希望控制這些拆分如何滾動(dòng)。例如,在一個(gè)具有三個(gè)拆分的網(wǎng)格中,可以決定只讓第一個(gè)和第三個(gè)拆分同步,而讓中間的拆分獨(dú)立地滾動(dòng)。要同步任何兩個(gè)(或多個(gè))拆分,只需將每個(gè)Split對(duì)象的ScrollGroup屬性設(shè)置為同一個(gè)值。
'使第一個(gè)和第三個(gè)Split對(duì)象同步。
WithDataGrid1
.Splits(0).ScrollGroup=1
.Splits(1).ScrollGroup=2
.Splits(2).ScrollGroup=1
EndWith
通過(guò)設(shè)置Scrollbars屬性,使同步的拆分組只顯示一個(gè)滾卷?xiàng)l,從而進(jìn)一步自定義拆分的外觀。
控制Tab鍵和箭頭鍵的行為
使用WrapCellPointer、TabAcrossSplits、以及TabAction屬性,可以決定當(dāng)最終用戶按下tab鍵或箭頭鍵時(shí)網(wǎng)格的行為。
在這三個(gè)屬性中,TabAction屬性級(jí)別最高,它決定WrapCellPointer和TabAcrossSplits這兩個(gè)屬性是否能生效。TabAction有三個(gè)設(shè)置值:ControlNavigation、ColumnNavigation和GridNavigation。當(dāng)該屬性設(shè)置為ControlNavigation時(shí),按tab鍵將根據(jù)TabIndex將焦點(diǎn)切換到下一個(gè)控件。這一設(shè)置優(yōu)先于WrapCellPointer和TabAcrossSplits。
WrapCellPointer屬性決定在任何單個(gè)的拆分中tab鍵和箭頭鍵的行為。如果該屬性設(shè)置為True,且當(dāng)前單元位于最后一列,這時(shí)最終用戶按tab鍵則使第一列的下一行變成當(dāng)前的單元。不過(guò),如果當(dāng)前單元位于最后一行的最后一列時(shí),這時(shí)就沒(méi)有地方可以“換行”。
TabAcrossSplits屬性決定當(dāng)網(wǎng)格中存在兩個(gè)或多個(gè)拆分時(shí)tab和箭頭鍵的行為。如果該屬性設(shè)置為True,且當(dāng)前單元位于任何一個(gè)拆分的最后一列,則按tab或箭頭鍵將使當(dāng)前單元“跳”到下一個(gè)拆分的第一列。當(dāng)前單元仍保持相同的行位置。
注意如果WrapCellPointer和TabAcrossSplits屬性都設(shè)置為True,則只有當(dāng)前單元位于最后一個(gè)拆分的最后一列時(shí)才會(huì)換行。這時(shí)當(dāng)前單元將換到第一個(gè)拆分的第一列中的下一行。
自定義列集合
每一個(gè)Split對(duì)象都有一個(gè)Columns屬性,允許用戶來(lái)操作一個(gè)Column對(duì)象的集合。通過(guò)這樣做,可以更改每個(gè)Split對(duì)象的外觀。例如,可以用一個(gè)拆分包含顯示姓氏字段和名字字段的兩個(gè)列,而第二個(gè)拆分則顯示電話字段和地址字段。要實(shí)現(xiàn)這一目標(biāo),需要將其它的每一列的Visible屬性設(shè)置為False,如下所示:
'枚舉Columns集合,對(duì)每一個(gè)Column對(duì)象的DataField屬性
'進(jìn)行測(cè)試。如果測(cè)試失敗,則隱藏這一列。
DimiAsInteger
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注