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