原創(chuàng)|其它|編輯:郝浩|2011-08-03 14:12:11.000|閱讀 539 次
概述:開發(fā)人員可以定義用戶與行和列的交互,如是否可以更改行或列的大小、是否可以移動(dòng)行或列、凍結(jié)指定的行或列、在行或列中查找數(shù)據(jù)等。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
開發(fā)人員可以定義用戶與行和列的交互,如是否可以更改行或列的大小、是否可以移動(dòng)行或列、凍結(jié)指定的行或列、在行或列中查找數(shù)據(jù)等。
更改行或列的大小
你可以允許用戶重新調(diào)整表單中行或列的大小。 設(shè)置行的Resizable屬性以允許用戶重置行的大小,設(shè)置列的Resizable屬性以允許用戶重置列的大小。用戶也可以雙擊列首與列首之間的分隔線以重新設(shè)置列的寬窄,以適應(yīng)列首文字的寬度。
用戶要重置行或列的大小,僅需鼠標(biāo)左鍵單擊行首或列首的邊界線,拖拽至所需位置釋放鼠標(biāo)。 如下圖所示,當(dāng)左鍵被按下時(shí),鼠標(biāo)位置就會(huì)顯示一個(gè)工具欄。 一定要點(diǎn)擊列的右邊緣或行的下邊緣以改變列寬或行高。用戶雙擊行與行之間的分隔線可以讓行自動(dòng)調(diào)整高度以顯示行中最高文本, 雙擊列與列之間的分隔線可以讓列自動(dòng)調(diào)整寬度以顯示列中最寬文本.
默認(rèn)情況下,用戶可以修改數(shù)據(jù)區(qū)域的行或列的大小,但是行首和列首的大小是不允許被修改的。 在代碼中,你可以重置行首或列首的大小,不僅僅局限于數(shù)據(jù)區(qū)域的行或列。你也可以使用Resizable屬性覆蓋默認(rèn)的行為,阻止用戶改變大小。
下面的代碼會(huì)允許行首中的一列改變大小:
fpSread.Sheets[0].RowHeader.Columns[0].Resizable = true; |
下面的代碼允許行首中的全部列改變大小:
fpSread.Sheets[0].RowHeader.Columns.Default.Resizable = true; |
GetColumnSizeable你可以使用SheetView類中的方法來決定行或列的大小可以被用戶修改:
SetColumnSizeable
GetRowSizeable
SetRowSizeable
移動(dòng)行或列
你可以允許用戶拖拽移動(dòng)行或列。設(shè)置AllowRowMove屬性以允許用戶移動(dòng)行,設(shè)置AllowColumnMove 屬性以允許用戶移動(dòng)列。如果你想允許用戶移動(dòng)多行或多列,需設(shè)置AllowRowMoveMultiple 或AllowColumnMoveMultiple 屬性。
為移動(dòng)行或列,用戶僅需要左鍵按住行或列的頭部,在行首(列首)區(qū)域內(nèi)向前或向后拖拽,至所需位置放開鼠標(biāo)。 (如果拖拽多行或多列,要事先選中欲操作的行或列)。 被移動(dòng)的行或列會(huì)跟隨鼠標(biāo)指針顯示一個(gè)透明的拷貝。如下圖所示,第四列就被移到了左邊。
你可以使用SheetView.MoveRow方法,編程實(shí)現(xiàn)重定位一行,也可以使用SheetView.RemoveRows 一次性移除多行。你可以使用SheetView.MoveColumn 方法,編程實(shí)現(xiàn)重定位一列。也可以使用SheetView.RemoveColumns方法 一次性移除多列。
通過對一個(gè)列區(qū)域進(jìn)行Remove操作,你就能夠一次性移除若干列。例如:
fpSpread1.Sheets(0).Columns(1,5).Remove() |
設(shè)置固定的(凍結(jié)的)行或列
你可以凍結(jié)表單中的行或列(使其不可滾動(dòng))。 你可以凍結(jié)任意個(gè)表單頂部的行,使其成為前導(dǎo)行,你也可以凍結(jié)左側(cè)任意多個(gè)列,使其成為前導(dǎo)列 你也可以凍結(jié)任意多個(gè)表單底部的行,或最右邊的列。無論鼠標(biāo)如何滾動(dòng),凍結(jié)的前導(dǎo)行或前導(dǎo)列都會(huì)在視圖的頂部或最左端顯示。無論鼠標(biāo)如何滾動(dòng),凍結(jié)的尾行或尾列都會(huì)在視圖的底部或最右端顯示。
下列圖表顯示了一個(gè)凍結(jié)的尾列和尾行在視圖中的顯示位置。
有關(guān)凍結(jié)行和列的屬性包括:
FrozenRowCount
FrozenColumnCount
FrozenTrailingColumnCount
FrozenTrailingRowCount
凍結(jié)的行或列在運(yùn)行時(shí)是不可以滾動(dòng)的,但是在設(shè)計(jì)時(shí),它們是可以滾動(dòng)的。
尾凍結(jié)列和尾凍結(jié)行在每一頁的底部和右部不會(huì)被重復(fù)打印,作為最后一行或最后一列打印一次。 前導(dǎo)行和前導(dǎo)列可以被重復(fù)打印。
設(shè)置表單的FrozenRowCount, FrozenColumnCount, FrozenTrailingColumnCount, 或FrozenTrailingRowCount 屬性:
fpSpread1.Sheets[0].FrozenColumnCount = 2; |
fpSpread1.Sheets[0].FrozenRowCount = 2; |
fpSpread1.Sheets[0].FrozenTrailingColumnCount = 2; |
fpSpread1.Sheets[0].FrozenTrailingRowCount = 2; |
查找含有數(shù)據(jù)的行或列
當(dāng)使用表單工作時(shí),你可以利用表單類中的各種不同成員來找出行或列最后一個(gè)或者格式的索引。你可以使用如下由表單所提供的方法。
GetLastNonEmptyColumn 方法
GetLastNonEmptyRow 方法
你可以通過如下屬性來得到包含數(shù)據(jù)的行或列的數(shù)目:
NonEmptyColumnCount屬性
NonEmptyColumnCount屬性
調(diào)整行列尺寸以適應(yīng)數(shù)據(jù)大小
根據(jù)單元格中數(shù)據(jù)的長度和寬度,你可以調(diào)整列寬或行高。最大數(shù)據(jù)所在行或列的尺寸稱為首選尺寸。利用首選尺寸的方法有:
Row類中的GetPreferredHeight方法
Column類中的GetPreferredWidth方法
SheetView類中的 GetPreferredRowHeight方法
SheetView類中的 GetPreferredColumnWidth方法
SheetView類中的 GetPreferredCellSize方法
Row類中的GetPreferredHeight方法和 Column類中的GetPreferredWidth方法總是包括標(biāo)題的單元格。對于重載了GetPreferredColumnWidth方法的表單類,當(dāng)重載允許你選擇包含或不包含標(biāo)題的單元格時(shí),始終會(huì)有一個(gè)重載包含標(biāo)題的單元格。在下面的這段代碼中,width1和width2包含了標(biāo)題單元格而width3則不包含標(biāo)題的單元格。
float width1 = fpSpread.Sheets[0].Columns[0].GetPreferredWidth(); |
float width2 = fpSpread.Sheets[0].GetPreferredColumnWidth(0); |
float width3 = fpSpread.Sheets[0].GetPreferredColumnWidth(0, true); |
使用多種不同方法來設(shè)置列寬和行高:
FarPoint.Win.Spread.Column col; |
float sizerow; |
float sizercol; |
row = fpSpread1.ActiveSheet.Rows[0]; |
col = fpSpread1.ActiveSheet.Columns[0]; |
fpSpread1.ActiveSheet.Cells[0, 0].Text = "This text is used to determine the height and width."; |
sizerow = row.GetPreferredHeight(); |
sizecol = col.GetPreferredWidth(); |
row.Height = sizerow; |
col.Width = sizecol; |
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:博客園