日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Spread for Windows Forms快速入門(7)

 心靈窗畔 2015-05-30

單元格的編輯模式


通常情況下,當(dāng)終端用戶雙擊單元格時,編輯控件將允許用戶在該單元格中輸入內(nèi)容。在一個單元格中編輯的能力被稱為編輯模式。一些屬性和方法可以用來自定義編輯模式的使用。


當(dāng)一個單元格處于編輯模式時,活動單元格將顯示一個I型光標(biāo),如下圖所示。當(dāng)該單元格不處于編輯模式時,活動單元格將顯示一個焦點長方形,如下圖所示。














clip_image002



clip_image004



處于編輯模式下的單元格



被選中但是并不處于編輯模式下的單元格



一個單元格將進(jìn)入編輯模式(開啟編輯模式),當(dāng):


用戶在單元格中輸入內(nèi)容


用戶雙擊單元格


EditMode屬性設(shè)置為true


一個單元格離開編輯模式(關(guān)閉編輯模式),當(dāng)


用戶按下回車鍵


用戶激活了另外一個單元格


應(yīng)用程序丟失焦點


EditMode屬性設(shè)置為false


當(dāng)一個單元格進(jìn)入編輯模式,默認(rèn)情況下,光標(biāo)位于單元格中文本的末端。你可以設(shè)置EditModeReplace屬性, 將光標(biāo)改變?yōu)檫x擇單元格中存在的文本。


如果你愿意,你可以使用EditModePermanent屬性指定一個單元格, 當(dāng)該單元格變?yōu)榛顒訂卧駮r一直處于編輯模式。


你可以使用StartCellEditing 和 StopCellEditing方法啟動和結(jié)束編輯模式。


鎖定單元格


你可以鎖定一個單元格或者一個區(qū)域內(nèi)的單元格,并使之不能被終端用戶編輯。 你也可以將鎖定單元格的外觀設(shè)置為其他樣式,以便于用戶分辨。


你可以使用單元格對象,列對象,行對象,或者交替行對象中的Locked 屬性鎖定單元格。你還可以為StyleInfo對象設(shè)置Locked屬性,并將該風(fēng)格應(yīng)用到你希望鎖定的單元格上。你還需要設(shè)置SheetView對象的 Protect屬性鎖定單元格。 Locked屬性將鎖定的單元格標(biāo)識出來,設(shè)置Protect屬性可以確定是否鎖定這些單元格。對于標(biāo)記為鎖定的單元格,要鎖定用戶的輸入,表單的 Protect屬性必須設(shè)置為True(默認(rèn)情況下為True),否則用戶依然可以與單元格進(jìn)行交互。


另外一種鎖定單元格的方法是將單元格類型設(shè)置為文本單元格(使用TextCellType)并且將屬性設(shè)置為只讀(ReadOnly)。 這樣,單元格就不可以編輯了。


確定表單的Protect屬性被設(shè)置為True后,你可以鎖定一些列的單元格并在某一行中解鎖這些單元格。 示例代碼如下:









fpSpread1.ActiveSheet.Protect = true;


fpSpread1.ActiveSheet.LockBackColor = Color.LightCyan;


fpSpread1.ActiveSheet.LockForeColor = Color.Green;


fpSpread1.ActiveSheet.Columns[0, 3].Locked = true;


fpSpread1.ActiveSheet.Cells[1,1,1,2].Locked = false;



單元格的合并


你可以將若干個單元格合并起來,創(chuàng)建一個合并區(qū)域,如下圖所示。合并單元格用于創(chuàng)建一個大型的單元格,位于以前幾個分列的單元格之上。舉例來說,如果你創(chuàng)建了從B2到D3的單元格的合并區(qū)域,大型的單元格就占據(jù)了單元格B2至D3的空間。


clip_image006


控件分為四個部分:表角,列標(biāo)題,行標(biāo)題,以及數(shù)據(jù)區(qū)域。你可以在某一部分創(chuàng)建若干個合并區(qū)域,但是你不能創(chuàng)建橫跨好幾部分的區(qū)域。 舉例來說,你不能將數(shù)據(jù)區(qū)域的單元格與行標(biāo)題的單元格合并,并且你不能將列標(biāo)題的單元格與表角的單元格合并。這里主要介紹在數(shù)據(jù)區(qū)域如何合并單元格。


當(dāng)你創(chuàng)建單元格的合并區(qū)域時。合并區(qū)域的第一個單元格的數(shù)據(jù)(通常被稱為錨點單元格)占據(jù)了合并區(qū)域的所有空白區(qū)。當(dāng)你創(chuàng)建一個合并區(qū)域時,原來在各個單元格的數(shù)據(jù)依舊在合并區(qū)域的各個單元格中,但是不會顯示出來。 合并區(qū)域僅僅是將數(shù)據(jù)隱藏了。 如果你將這一組單元格的合并區(qū)域移除,合并區(qū)域單元格的內(nèi)容,先前被隱藏的內(nèi)容,就會正常顯示。通過調(diào)用AddSpanCell 方法,你可以創(chuàng)建一個單元格的合并區(qū)域。合并區(qū)域內(nèi)的單元格種類不會發(fā)生改變。合并的單元格采用合并區(qū)域中最左邊的單元格類型。


調(diào)用GetCellSpan方法返回一個單元格是否在合并區(qū)域中的判定值。并且如果此單元格在合并區(qū)域中,該方法就會返回CellRange對象,該對象包含錨點單元格的行數(shù)和列數(shù), 以及合并區(qū)域中的行列數(shù)。


通過調(diào)用RemoveSpanCell方法你可以將合并區(qū)域從一組單元格區(qū)域中移除。你可以通過此方法移除單元格合并區(qū)域,指定合并區(qū)域的錨點單元格,以便移除合并區(qū)域。當(dāng)你想要移除一個合并區(qū)域時,以前顯示在各個單元格中的數(shù)據(jù)又重新顯示在你的眼前。單元格的數(shù)據(jù)從未沒移除,只是被合并區(qū)域隱藏而已。


下面的示例代碼定義了一些內(nèi)容然后合并了六個相連的單元格。









// Create some content in two cells.


fpSpread1.ActiveSheet.Cells[1,1].Text = "These six cells are spanned.";


fpSpread1.ActiveSheet.Cells[2,2].Text = "This is text in 2,2.";


// Span six cells including the ones with different content.


fpSpread1.ActiveSheet.AddSpanCell(1, 1, 2, 3);



使用拖拽操作填充單元格


在使用Spread進(jìn)行應(yīng)用程序開發(fā)時,你可以允許最終用戶從一個或若干個單元格的區(qū)域內(nèi)拖拽數(shù)據(jù)到另外一個單元格或者另外一組單元格內(nèi)。對于選中的單元格或一組單元格 ,你也可以將其他的單元格填充到一行 (或者若干行如果超過一列被選中)或者一列(或者若干列如果超過一行被選中)。


這里顯示的示例從原始選中的單元格中向一列中填充了幾個單元格。


clip_image008


使用FillDirection枚舉類型,你可以自定義填充的方向。


下面的示例代碼對控件進(jìn)行了設(shè)置以便允許拖拽填充特性。









fpSpread1.AllowDragFill = true;



 


附:Spread for Windows Forms快速入門系列文章


Spread for Windows Forms快速入門(1)---開始使用Spread


Spread for Windows Forms快速入門(2)---設(shè)置Spread表單


Spread for Windows Forms快速入門(3)---行列操作


Spread for Windows Forms快速入門(4)---常用的單元格類型(上)


Spread for Windows Forms快速入門(5)---常用的單元格類型(下)


Spread for Windows Forms快速入門(6)---定義單元格的外觀

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多