檢視原始碼 wxGrid (wx v2.4.3)
wxGrid
及其相關類別用於顯示和編輯表格數據。
它們為顯示、編輯和與各種數據源交互提供了豐富的功能集。對於簡單的應用程式,以及為了幫助您入門,wxGrid
是您唯一需要直接參考的類別。它將為您設定其他類別的預設實例並管理它們。對於更複雜的應用程式,您可以派生自己的類別,用於自訂網格視圖、網格數據表、儲存格編輯器和渲染器。overview_grid 提供了簡單和更複雜應用程式的範例,說明了各種網格類別之間的關係,並概述了 wxGrid
提供的鍵盤快捷鍵和滑鼠功能。
wxGridTableBase
(在 wx 中未實作) 類別保存要由 wxGrid
類別顯示的實際數據。一個或多個 wxGrid
類別可以作為一個表格類別的視圖。預設的表格類別稱為 wxGridStringTable
(在 wx 中未實作),並保存一個字串陣列。此類類別的實例由 createGrid/4
建立。
wxGridCellRenderer
是用於在儲存格中渲染內容的抽象基底類別。以下渲染器是預定義的
wxGridCellDateRenderer
(在 wx 中未實作)wxGridCellDateTimeRenderer
(在 wx 中未實作)
可以使用 wxGridCellAttr
進一步定義儲存格的外觀。此類型的物件可能會由 wxGridTableBase::GetAttr()
(在 wx 中未實作) 傳回。
wxGridCellEditor
是用於編輯儲存格值的抽象基底類別。以下編輯器是預定義的
wxGridCellDateEditor
(在 wx 中未實作)
請參閱 wxGridEvent
、wxGridSizeEvent
(在 wx 中未實作)、wxGridRangeSelectEvent
(在 wx 中未實作) 和 wxGridEditorCreatedEvent
(在 wx 中未實作) 以取得您可以使用 wxGrid
的所有事件類型的文件。
請參閱:網格總覽
此類別衍生自以下類別,並可以使用其函式:
wxWidgets 文件:wxGrid
摘要
函式
在網格的右側附加一個或多個新的欄。
在網格的底部附加一個或多個新的列。
自動設定所有列和欄的高度和寬度,以符合其內容。
自動調整欄的大小以符合其內容。
自動調整所有欄的大小以符合其內容。
自動調整列的大小以符合其內容。
自動調整所有列的大小以符合其內容。
遞增網格的批次計數。
將網格儲存格座標轉換為網格視窗像素座標。
如果啟用儲存格拖曳,則傳回 true,否則傳回 false。
如果可以使用滑鼠拖曳移動欄,則傳回 true。
如果可以使用滑鼠拖曳調整給定欄的大小,則傳回 true。
如果可以拖曳網格內的列邊緣來調整列的大小,則傳回 true。
如果啟用拖曳網格線以調整列和欄的大小,則傳回 true,否則傳回 false。
如果可以使用滑鼠拖曳調整給定列的大小,則傳回 true。
如果可以使用目前網格儲存格的就地編輯控制項,則傳回 true,否則傳回 false。
傳回對應於網格儲存格在邏輯座標中的大小和位置的矩形。
傳回對應於網格儲存格在邏輯座標中的大小和位置的矩形。
清除底層網格表格中的所有數據,並重新繪製網格。
取消選取目前選取的所有儲存格。
建立具有指定初始列數和欄數的網格。
從指定位置開始,從網格中刪除一個或多個欄。
從指定位置開始,從網格中刪除一個或多個列。
銷毀物件
停用網格儲存格的就地編輯。
停用使用滑鼠拖曳調整欄大小的功能。
停用使用滑鼠拖曳網格線來調整列和欄的大小的功能。
停用使用滑鼠拖曳調整列大小的功能。
啟用或停用網格儲存格數據的就地編輯。
啟用或停用使用滑鼠拖曳調整欄大小的功能。
啟用或停用使用滑鼠拖曳網格線來調整列和欄的大小的功能。
啟用或停用使用滑鼠拖曳調整列大小的功能。
使網格全域可編輯或唯讀。
開啟或關閉網格線的繪製。
遞減網格的批次計數。
導致立即重新繪製網格。
傳回在沒有 (尚未) 呼叫 endBatch/1
的情況下,呼叫 beginBatch/1
的次數。
設定指定位置的網格儲存格的水平和垂直文字對齊值。
傳回指定位置的儲存格的背景顏色。
傳回指向指定位置的儲存格編輯器的指標。
傳回指定位置的網格儲存格中文字的字型。
傳回指向指定位置的網格儲存格渲染器的指標。
傳回指定位置的網格儲存格的文字顏色。
傳回指定位置的儲存格中包含的字串。
傳回指定位置的儲存格中包含的字串。
將引數設定為目前的欄標籤對齊值。
傳回欄標籤的目前高度。
傳回指定的欄標籤。
傳回欄可調整大小的最小寬度。
傳回預設的儲存格對齊方式。
傳回網格儲存格的目前預設背景顏色。
傳回網格儲存格文字的目前預設字型。
傳回網格儲存格文字的目前預設顏色。
傳回欄標籤的預設高度。
傳回網格欄的目前預設寬度。
傳回指向目前預設網格儲存格編輯器的指標。
傳回指定儲存格的預設編輯器。
傳回指定儲存格的預設編輯器。
傳回包含指定類型值的儲存格的預設編輯器。
傳回指向目前預設網格儲存格渲染器的指標。
傳回給定儲存格的預設渲染器。
傳回包含指定類型值的儲存格的預設渲染器。
傳回列標籤的預設寬度。
傳回網格列的目前預設高度。
傳回欄標籤視窗。
傳回左上網格角落中的視窗。
傳回目前的網格儲存格欄位置。
傳回目前網格儲存格的列位置。
傳回用於網格線的顏色。
傳回列標籤視窗。
傳回包含網格儲存格的主網格視窗。
傳回用於列和欄標籤背景的顏色。
傳回用於列和欄標籤的字型。
傳回用於列和欄標籤文字的顏色。
傳回網格欄的總數。
傳回網格列的總數。
傳回給定儲存格的屬性,如果必要會建立一個。
傳回用於列標籤的對齊方式。
傳回列標籤的目前寬度。
傳回指定的列標籤。
傳回列可以調整的最小尺寸。
傳回指定列的高度。
傳回水平捲動增量中每個增量的像素數。
傳回垂直捲動增量中每個增量的像素數。
傳回個別選取儲存格的陣列。
傳回選取欄的陣列。
傳回選取列的陣列。
傳回用於繪製選取背景的顏色。
傳回選取儲存格區塊的右下角陣列。
傳回選取儲存格區塊的左上角陣列。
傳回用於繪製選取前景的顏色。
如果開啟繪製網格線則傳回 true,否則傳回 false。
隱藏就地儲存格編輯控制項。
將一個或多個新欄插入網格中,第一個新欄在指定的位置。
將一個或多個新列插入網格中,第一個新列在指定的位置。
如果目前已啟用就地編輯控制項,則傳回 true。
如果目前儲存格為唯讀,則傳回 true。
如果整個網格已設定為唯讀則傳回 false,否則傳回 true。
如果給定的儲存格已選取,則傳回 true。
如果給定的儲存格已選取,則傳回 true。
如果無法編輯指定位置的儲存格,則傳回 true。
如果目前有任何已選取的儲存格、列、欄或區塊,則傳回 true。
如果儲存格完全或至少部分在網格視窗中可見,則傳回 true。
如果儲存格完全或至少部分在網格視窗中可見,則傳回 true。
將指定的儲存格帶入可見網格儲存格區域,並儘量減少捲動。
將指定的儲存格帶入可見網格儲存格區域,並儘量減少捲動。
將網格游標向下移動一列。
在目前欄中將網格游標向下移動,使其跳到非空白儲存格區塊的開頭或結尾。
將網格游標向左移動一欄。
在目前列中將網格游標向左移動,使其跳到非空白儲存格區塊的開頭或結尾。
將網格游標向右移動一欄。
在目前列中將網格游標向右移動,使其跳到非空白儲存格區塊的開頭或結尾。
將網格游標向上移動一列。
在目前欄中將網格游標向上移動,使其跳到非空白儲存格區塊的開頭或結尾。
將網格游標向下移動一些列,以便先前的底部可見列變成頂部可見列。
將網格游標向上移動一些列,以便先前的頂部可見列變成底部可見列。
預設建構函式。
建構建立網格視窗的函式。
將目前網格儲存格的值設定為目前的就地編輯控制項值。
選取網格中的所有儲存格。
選取矩形儲存格區塊。
選取矩形儲存格區塊。
選取指定的欄。
選取指定的列。
設定指定位置網格儲存格文字的水平和垂直對齊方式。
設定給定儲存格的背景顏色,或預設所有儲存格的背景顏色。
設定指定位置網格儲存格的編輯器。
設定指定位置網格儲存格中文字的字型。
設定指定位置網格儲存格的轉譯器。
設定給定儲存格的文字顏色。
設定指定位置儲存格的字串值。
設定指定位置儲存格的字串值。
設定指定欄中所有儲存格的儲存格屬性。
設定指定的欄以顯示布林值。
設定指定的欄以自訂格式顯示資料。
設定指定的欄以指定的寬度和精確度顯示浮點值。
設定指定的欄以顯示整數值。
設定欄標籤文字的水平和垂直對齊方式。
設定欄標籤的高度。
設定給定欄標籤的值。
設定使用者可以調整欄大小的最小 width
。
設定指定欄 col
的最小 width
。
設定指定欄的寬度。
設定網格儲存格文字的預設水平和垂直對齊方式。
設定網格儲存格的預設背景顏色。
設定網格儲存格文字要使用的預設字型。
設定網格儲存格文字的目前預設顏色。
設定網格中欄的預設寬度。
設定網格儲存格的預設編輯器。
設定網格儲存格的預設轉譯器。
設定網格中列的預設高度。
將網格游標設定為指定的儲存格。
將網格游標設定為指定的儲存格。
設定用於繪製網格線的顏色。
設定列和欄標籤的背景顏色。
設定列和欄標籤的字型。
設定列和欄標籤文字的顏色。
設定網格區域周圍使用的額外邊界。
使指定位置的儲存格為唯讀或可編輯。
設定指定列中所有儲存格的儲存格屬性。
設定列標籤文字的水平和垂直對齊方式。
設定列標籤的寬度。
設定給定列標籤的值。
設定預設使用的最小列 height
。
設定指定的 row
的最小 height
。
設定指定列的高度。
設定水平捲動時,每次捲動的像素數量。
設定垂直捲動時,每次捲動的像素數量。
設定繪製選取背景所使用的顏色。
設定繪製選取前景所使用的顏色。
設定網格的選取行為。
顯示目前儲存格隱藏的啟用中就地編輯控制項。
根據視窗,傳回指定像素位置的欄位。
傳回其右邊緣靠近指定邏輯 x
位置的欄位。
傳回其底邊緣靠近指定邏輯 y
位置的列。
傳回對應到邏輯 y
座標的網格列。
類型
-type wxGrid() :: wx:wx_object().
函式
等同於 appendCols(This, [])
。
-spec appendCols(This, [Option]) -> boolean() when This :: wxGrid(), Option :: {numCols, integer()} | {updateLabels, boolean()}.
在網格的右側附加一個或多個新的欄。
目前未使用 updateLabels
引數。如果您正在使用衍生的網格表格類別,則需要覆寫 wxGridTableBase::AppendCols()
(在 wx 中未實作)。請參閱 insertCols/2
以取得更多資訊。
傳回值:成功時為 true,或附加欄失敗時為 false。
等同於 appendRows(This, [])
。
-spec appendRows(This, [Option]) -> boolean() when This :: wxGrid(), Option :: {numRows, integer()} | {updateLabels, boolean()}.
在網格的底部附加一個或多個新的列。
目前未使用 updateLabels
引數。如果您正在使用衍生的網格表格類別,則需要覆寫 wxGridTableBase::AppendRows()
(在 wx 中未實作)。請參閱 insertRows/2
以取得更多資訊。
傳回值:成功時為 true,或附加列失敗時為 false。
-spec autoSize(This) -> ok when This :: wxGrid().
自動設定所有列和欄的高度和寬度,以符合其內容。
-spec autoSizeColumn(This, Col, [Option]) -> ok when This :: wxGrid(), Col :: integer(), Option :: {setAsMin, boolean()}.
自動調整欄的大小以符合其內容。
如果 setAsMin
為 true,則計算出的寬度也會設定為該欄的最小寬度。
-spec autoSizeColumns(This) -> ok when This :: wxGrid().
自動調整所有欄的大小以符合其內容。
如果 setAsMin
為 true,則計算出的寬度也會設定為這些欄的最小寬度。
-spec autoSizeRow(This, Row, [Option]) -> ok when This :: wxGrid(), Row :: integer(), Option :: {setAsMin, boolean()}.
自動調整列的大小以符合其內容。
如果 setAsMin
為 true,則計算出的高度也會設定為該列的最小高度。
-spec autoSizeRows(This) -> ok when This :: wxGrid().
自動調整所有列的大小以符合其內容。
如果 setAsMin
為 true,則計算出的高度也會設定為這些列的最小高度。
-spec beginBatch(This) -> ok when This :: wxGrid().
遞增網格的批次計數。
當計數大於零時,會抑制網格的重新繪製。每次呼叫 BeginBatch 都必須與稍後呼叫 endBatch/1
相互配對。執行大量網格修改的程式碼可以封閉在 beginBatch/1
和 endBatch/1
呼叫之間,以避免螢幕閃爍。最後一次 endBatch/1
呼叫將會導致重新繪製網格。
請注意,您應該使用 wxGridUpdateLocker
(在 wx 中未實作),這可確保針對此 beginBatch/1
永遠都有一個相符的 endBatch/1
呼叫 (如果可能),而不是直接呼叫此方法。
-spec blockToDeviceRect(This, TopLeft, BottomRight) -> {X :: integer(), Y :: integer(), W :: integer(), H :: integer()} when This :: wxGrid(), TopLeft :: {R :: integer(), C :: integer()}, BottomRight :: {R :: integer(), C :: integer()}.
將網格儲存格座標轉換為網格視窗像素座標。
此函式會傳回以裝置座標表示,且由 topLeft
和 bottomRight
儲存格所限制的儲存格區塊矩形,並裁剪為網格視窗的用戶端大小。
自 3.1.3 起:已新增 gridWindow
參數。
請參閱:cellToRect/3
如果啟用儲存格拖曳,則傳回 true,否則傳回 false。
如果可以使用滑鼠拖曳移動欄,則傳回 true。
可以透過拖曳標籤來移動欄。
如果可以使用滑鼠拖曳調整給定欄的大小,則傳回 true。
如果全域啟用以互動方式調整欄大小 (亦即,如果尚未呼叫 disableDragColSize/1
),且如果此欄未明確使用 DisableColResize()
(在 wx 中未實作) 標示為不可調整大小,則此函式會傳回 true。
如果可以拖曳網格內的列邊緣來調整列的大小,則傳回 true。
請參閱
自 3.1.4 起:
如果啟用拖曳網格線以調整列和欄的大小,則傳回 true,否則傳回 false。
如果可以使用滑鼠拖曳調整給定列的大小,則傳回 true。
這與 canDragColSize/2
相同,但適用於列。
如果可以使用目前網格儲存格的就地編輯控制項,則傳回 true,否則傳回 false。
此函式對於唯讀儲存格永遠會傳回 false。
-spec cellToRect(This, Coords) -> {X :: integer(), Y :: integer(), W :: integer(), H :: integer()} when This :: wxGrid(), Coords :: {R :: integer(), C :: integer()}.
傳回對應於網格儲存格在邏輯座標中的大小和位置的矩形。
-spec cellToRect(This, Row, Col) -> {X :: integer(), Y :: integer(), W :: integer(), H :: integer()} when This :: wxGrid(), Row :: integer(), Col :: integer().
傳回對應於網格儲存格在邏輯座標中的大小和位置的矩形。
-spec clearGrid(This) -> ok when This :: wxGrid().
清除底層網格表格中的所有數據,並重新繪製網格。
此函式不會刪除表格。如果您正在使用衍生的表格類別,則需要覆寫 wxGridTableBase::Clear()
(在 wx 中未實作),此函式才會生效。
-spec clearSelection(This) -> ok when This :: wxGrid().
取消選取目前選取的所有儲存格。
-spec createGrid(This, NumRows, NumCols, [Option]) -> boolean() when This :: wxGrid(), NumRows :: integer(), NumCols :: integer(), Option :: {selmode, wx:wx_enum()}.
建立具有指定初始列數和欄數的網格。
請在網格建構函式之後直接呼叫此項。當您使用此函式時,wxGrid
會為您建立和管理簡單的字串值表格。所有網格資料都會儲存在記憶體中。
對於具有更複雜資料類型或關聯性的應用程式,或為了處理非常大的資料集,您應該衍生自己的網格表格類別,並將表格物件以 SetTable()
(在 wx 中未實作) 或 AssignTable()
(在 wx 中未實作) 傳遞至網格。
等同於 deleteCols(This, [])
。
-spec deleteCols(This, [Option]) -> boolean() when This :: wxGrid(), Option :: {pos, integer()} | {numCols, integer()} | {updateLabels, boolean()}.
從指定位置開始,從網格中刪除一個或多個欄。
目前未使用 updateLabels
引數。如果您正在使用衍生的網格表格類別,則需要覆寫 wxGridTableBase::DeleteCols()
(在 wx 中未實作)。請參閱 insertCols/2
以取得更多資訊。
傳回值:成功時為 true,或刪除欄失敗時為 false。
等同於 deleteRows(This, [])
。
-spec deleteRows(This, [Option]) -> boolean() when This :: wxGrid(), Option :: {pos, integer()} | {numRows, integer()} | {updateLabels, boolean()}.
從指定位置開始,從網格中刪除一個或多個列。
目前未使用 updateLabels
引數。如果您正在使用衍生的網格表格類別,則需要覆寫 wxGridTableBase::DeleteRows()
(在 wx 中未實作)。請參閱 insertRows/2
以取得更多資訊。
傳回值:成功時為 true,或刪除列失敗時為 false。
-spec destroy(This :: wxGrid()) -> ok.
銷毀物件
-spec disableCellEditControl(This) -> ok when This :: wxGrid().
停用網格儲存格的就地編輯。
等同於呼叫 EnableCellEditControl(false)。
-spec disableDragColSize(This) -> ok when This :: wxGrid().
停用使用滑鼠拖曳調整欄大小的功能。
等同於將 false 傳遞至 enableDragColSize/2
。
-spec disableDragGridSize(This) -> ok when This :: wxGrid().
停用使用滑鼠拖曳網格線來調整列和欄的大小的功能。
等同於將 false 傳遞至 enableDragGridSize/2
。
-spec disableDragRowSize(This) -> ok when This :: wxGrid().
停用使用滑鼠拖曳調整列大小的功能。
等同於將 false 傳遞至 enableDragRowSize/2
。
-spec enableCellEditControl(This) -> ok when This :: wxGrid().
-spec enableCellEditControl(This, [Option]) -> ok when This :: wxGrid(), Option :: {enable, boolean()}.
啟用或停用網格儲存格數據的就地編輯。
啟用就地編輯會產生 wxEVT_GRID_EDITOR_SHOWN
,並且如果未遭到應用程式否決,則會顯示就地編輯器,讓使用者可以變更儲存格值。
如果目前未顯示就地編輯器,則停用就地編輯不會執行任何動作,否則會產生 wxEVT_GRID_EDITOR_HIDDEN
事件,但是與「顯示」事件不同,無法否決該事件,且會無條件關閉就地編輯器。
請注意,如果目前的儲存格為唯讀,則呼叫此函式會產生錯誤,請使用 canEnableCellControl/1
來檢查此前提條件。
-spec enableDragColSize(This) -> ok when This :: wxGrid().
啟用或停用使用滑鼠拖曳調整欄大小的功能。
-spec enableDragGridSize(This) -> ok when This :: wxGrid().
-spec enableDragGridSize(This, [Option]) -> ok when This :: wxGrid(), Option :: {enable, boolean()}.
啟用或停用使用滑鼠拖曳網格線來調整列和欄的大小的功能。
-spec enableDragRowSize(This) -> ok when This :: wxGrid().
啟用或停用使用滑鼠拖曳調整列大小的功能。
使網格全域可編輯或唯讀。
如果 edit 引數為 false,則此函式會將整個網格設定為唯讀。如果引數為 true,則網格會設定為預設狀態,其中儲存格可能是可編輯的。在預設狀態中,您可以透過 wxGridCellAttr:setReadOnly/2
將單一網格儲存格以及整個列和欄設定為可編輯或唯讀。針對單一儲存格,您也可以使用捷徑函式 setReadOnly/4
。
如需關於控制網格儲存格屬性的詳細資訊,請參閱 wxGridCellAttr
類別和 overview_grid。
-spec enableGridLines(This) -> ok when This :: wxGrid().
開啟或關閉網格線的繪製。
-spec endBatch(This) -> ok when This :: wxGrid().
遞減網格的批次計數。
當計數大於零時,會抑制網格的重新繪製。每次先前呼叫 beginBatch/1
都必須與稍後呼叫 endBatch/1
相互配對。執行大量網格修改的程式碼可以封閉在 beginBatch/1
和 endBatch/1
呼叫之間,以避免螢幕閃爍。最後一次 endBatch/1
將會導致重新繪製網格。
-spec fit(This) -> ok when This :: wxGrid().
覆寫 wxWindow
方法。
-spec forceRefresh(This) -> ok when This :: wxGrid().
導致立即重新繪製網格。
請改用此項,而不是一般的 wxWindow:refresh/2
。
傳回在沒有 (尚未) 呼叫 endBatch/1
的情況下,呼叫 beginBatch/1
的次數。
當網格的批次計數大於零時,將不會更新顯示。
-spec getCellAlignment(This, Row, Col) -> {Horiz :: integer(), Vert :: integer()} when This :: wxGrid(), Row :: integer(), Col :: integer().
設定指定位置的網格儲存格的水平和垂直文字對齊值。
水平對齊會是 wxALIGN_LEFT
、wxALIGN_CENTRE
或 wxALIGN_RIGHT
的其中一種。
垂直對齊會是 wxALIGN_TOP
、wxALIGN_CENTRE
或 wxALIGN_BOTTOM
的其中一種。
-spec getCellBackgroundColour(This, Row, Col) -> wx:wx_colour4() when This :: wxGrid(), Row :: integer(), Col :: integer().
傳回指定位置的儲存格的背景顏色。
-spec getCellEditor(This, Row, Col) -> wxGridCellEditor:wxGridCellEditor() when This :: wxGrid(), Row :: integer(), Col :: integer().
傳回指向指定位置的儲存格編輯器的指標。
如需關於儲存格編輯器和呈現器的詳細資訊,請參閱 wxGridCellEditor
和 overview_grid。
呼叫者必須在傳回的指標上呼叫 DecRef()。
-spec getCellFont(This, Row, Col) -> wxFont:wxFont() when This :: wxGrid(), Row :: integer(), Col :: integer().
傳回指定位置的網格儲存格中文字的字型。
-spec getCellRenderer(This, Row, Col) -> wxGridCellRenderer:wxGridCellRenderer() when This :: wxGrid(), Row :: integer(), Col :: integer().
傳回指向指定位置的網格儲存格渲染器的指標。
如需關於儲存格編輯器和呈現器的詳細資訊,請參閱 wxGridCellRenderer
和 overview_grid。
呼叫者必須在傳回的指標上呼叫 DecRef()。
-spec getCellTextColour(This, Row, Col) -> wx:wx_colour4() when This :: wxGrid(), Row :: integer(), Col :: integer().
傳回指定位置的網格儲存格的文字顏色。
-spec getCellValue(This, Coords) -> unicode:charlist() when This :: wxGrid(), Coords :: {R :: integer(), C :: integer()}.
傳回指定位置的儲存格中包含的字串。
針對網格物件自動使用字串值的預設網格表格的簡單應用程式,您會將此函式與 setCellValue/4
一起使用,以存取儲存格值。針對您已衍生出包含各種資料類型 (例如,數值、布林值或使用者定義的自訂類型) 的自己的網格表格類別的更複雜應用程式,您只會針對包含字串值的那些儲存格使用此函式。
如需詳細資訊,請參閱 wxGridTableBase::CanGetValueAs()
(在 wx 中未實作) 和 overview_grid。
-spec getCellValue(This, Row, Col) -> unicode:charlist() when This :: wxGrid(), Row :: integer(), Col :: integer().
傳回指定位置的儲存格中包含的字串。
針對網格物件自動使用字串值的預設網格表格的簡單應用程式,您會將此函式與 setCellValue/4
一起使用,以存取儲存格值。針對您已衍生出包含各種資料類型 (例如,數值、布林值或使用者定義的自訂類型) 的自己的網格表格類別的更複雜應用程式,您只會針對包含字串值的那些儲存格使用此函式。
如需詳細資訊,請參閱 wxGridTableBase::CanGetValueAs()
(在 wx 中未實作) 和 overview_grid。
將引數設定為目前的欄標籤對齊值。
水平對齊會是 wxALIGN_LEFT
、wxALIGN_CENTRE
或 wxALIGN_RIGHT
的其中一種。
垂直對齊會是 wxALIGN_TOP
、wxALIGN_CENTRE
或 wxALIGN_BOTTOM
的其中一種。
傳回欄標籤的目前高度。
-spec getColLabelValue(This, Col) -> unicode:charlist() when This :: wxGrid(), Col :: integer().
傳回指定的欄標籤。
預設網格表格類別提供的欄標籤形式為 A、B...Z、AA、AB...ZZ、AAA... 如果您正在使用自訂網格表格,您可以覆寫 wxGridTableBase::GetColLabelValue()
(在 wx 中未實作) 以提供自己的標籤。
傳回欄可調整大小的最小寬度。
請使用 setColMinimalAcceptableWidth/2
全域變更此值,或使用 setColMinimalWidth/3
針對個別欄執行此操作。
-spec getDefaultCellAlignment(This) -> {Horiz :: integer(), Vert :: integer()} when This :: wxGrid().
傳回預設的儲存格對齊方式。
水平對齊會是 wxALIGN_LEFT
、wxALIGN_CENTRE
或 wxALIGN_RIGHT
的其中一種。
垂直對齊會是 wxALIGN_TOP
、wxALIGN_CENTRE
或 wxALIGN_BOTTOM
的其中一種。
-spec getDefaultCellBackgroundColour(This) -> wx:wx_colour4() when This :: wxGrid().
傳回網格儲存格的目前預設背景顏色。
-spec getDefaultCellFont(This) -> wxFont:wxFont() when This :: wxGrid().
傳回網格儲存格文字的目前預設字型。
-spec getDefaultCellTextColour(This) -> wx:wx_colour4() when This :: wxGrid().
傳回網格儲存格文字的目前預設顏色。
傳回欄標籤的預設高度。
傳回網格欄的目前預設寬度。
-spec getDefaultEditor(This) -> wxGridCellEditor:wxGridCellEditor() when This :: wxGrid().
傳回指向目前預設網格儲存格編輯器的指標。
如需關於儲存格編輯器和呈現器的詳細資訊,請參閱 wxGridCellEditor
和 overview_grid。
-spec getDefaultEditorForCell(This, C) -> wxGridCellEditor:wxGridCellEditor() when This :: wxGrid(), C :: {R :: integer(), C :: integer()}.
傳回指定儲存格的預設編輯器。
基底類別版本會傳回適用於目前儲存格類型的編輯器,但是衍生類別中可能會覆寫此方法,以便預設為某些儲存格使用自訂編輯器。
請注意,通常可以更簡單的方式達成相同的效果,方法是將自訂的編輯器與指定的儲存格或多個儲存格相關聯。
呼叫者必須在傳回的指標上呼叫 DecRef()。
-spec getDefaultEditorForCell(This, Row, Col) -> wxGridCellEditor:wxGridCellEditor() when This :: wxGrid(), Row :: integer(), Col :: integer().
傳回指定儲存格的預設編輯器。
基底類別版本會傳回適用於目前儲存格類型的編輯器,但是衍生類別中可能會覆寫此方法,以便預設為某些儲存格使用自訂編輯器。
請注意,通常可以更簡單的方式達成相同的效果,方法是將自訂的編輯器與指定的儲存格或多個儲存格相關聯。
呼叫者必須在傳回的指標上呼叫 DecRef()。
-spec getDefaultEditorForType(This, TypeName) -> wxGridCellEditor:wxGridCellEditor() when This :: wxGrid(), TypeName :: unicode:chardata().
傳回包含指定類型值的儲存格的預設編輯器。
基礎類別版本會傳回在註冊時與指定的 typeName
相關聯的編輯器 registerDataType/4
,但此函式可能會被覆寫以傳回不同的內容。這允許覆寫用於其中一個標準類型的編輯器。
呼叫者必須在傳回的指標上呼叫 DecRef()。
-spec getDefaultRenderer(This) -> wxGridCellRenderer:wxGridCellRenderer() when This :: wxGrid().
傳回指向目前預設網格儲存格渲染器的指標。
如需關於儲存格編輯器和呈現器的詳細資訊,請參閱 wxGridCellRenderer
和 overview_grid。
呼叫者必須在傳回的指標上呼叫 DecRef()。
-spec getDefaultRendererForCell(This, Row, Col) -> wxGridCellRenderer:wxGridCellRenderer() when This :: wxGrid(), Row :: integer(), Col :: integer().
傳回給定儲存格的預設渲染器。
基礎類別版本會傳回適用於目前儲存格類型的渲染器,但此方法可能會在衍生類別中被覆寫,以便預設為某些儲存格使用自訂渲染器。
呼叫者必須在傳回的指標上呼叫 DecRef()。
-spec getDefaultRendererForType(This, TypeName) -> wxGridCellRenderer:wxGridCellRenderer() when This :: wxGrid(), TypeName :: unicode:chardata().
傳回包含指定類型值的儲存格的預設渲染器。
傳回列標籤的預設寬度。
傳回網格列的目前預設高度。
-spec getGridColLabelWindow(This) -> wxWindow:wxWindow() when This :: wxGrid().
傳回欄標籤視窗。
如果使用 HideColLabels()
隱藏了欄標籤(未在 wx 中實作),則不會顯示此視窗。
根據是否呼叫 UseNativeColHeader()
(未在 wx 中實作),它可以是 wxHeaderCtrl
(未在 wx 中實作)或普通的 wxWindow
。此函式在任一情況下都會傳回有效的視窗指標,但在前一種情況下,如果您需要 wxHeaderCtrl 特定的功能,也可以使用 GetGridColHeader()
(未在 wx 中實作)來存取它。
-spec getGridCornerLabelWindow(This) -> wxWindow:wxWindow() when This :: wxGrid().
傳回左上網格角落中的視窗。
只有在顯示欄和列標籤時才會顯示此視窗,並且通常不包含任何內容。但是,點擊它會由 wxGrid
處理,可用於選取整個網格。
傳回目前的網格儲存格欄位置。
傳回目前網格儲存格的列位置。
-spec getGridLineColour(This) -> wx:wx_colour4() when This :: wxGrid().
傳回用於網格線的顏色。
-spec getGridRowLabelWindow(This) -> wxWindow:wxWindow() when This :: wxGrid().
傳回列標籤視窗。
如果使用 HideRowLabels()
隱藏了列標籤(未在 wx 中實作),則不會顯示此視窗。
-spec getGridWindow(This) -> wxWindow:wxWindow() when This :: wxGrid().
傳回包含網格儲存格的主網格視窗。
此視窗始終顯示。
-spec getLabelBackgroundColour(This) -> wx:wx_colour4() when This :: wxGrid().
傳回用於列和欄標籤背景的顏色。
-spec getLabelFont(This) -> wxFont:wxFont() when This :: wxGrid().
傳回用於列和欄標籤的字型。
-spec getLabelTextColour(This) -> wx:wx_colour4() when This :: wxGrid().
傳回用於列和欄標籤文字的顏色。
傳回網格欄的總數。
這與底層網格表格中的欄數相同。
傳回網格列的總數。
這與底層網格表格中的列數相同。
-spec getOrCreateCellAttr(This, Row, Col) -> wxGridCellAttr:wxGridCellAttr() when This :: wxGrid(), Row :: integer(), Col :: integer().
傳回給定儲存格的屬性,如果必要會建立一個。
如果儲存格已具有屬性,則會傳回它。否則,會建立新的屬性,與儲存格相關聯並傳回。在任何情況下,呼叫者都必須對傳回的指標呼叫 DecRef()。
建議使用 GetOrCreateCellAttrPtr()
(未在 wx 中實作)來避免需要在傳回的指標上呼叫 DecRef()。
只有在 CanHaveAttributes()
(未在 wx 中實作)傳回 true 時,才能呼叫此函式。
傳回用於列標籤的對齊方式。
水平對齊會是 wxALIGN_LEFT
、wxALIGN_CENTRE
或 wxALIGN_RIGHT
的其中一種。
垂直對齊會是 wxALIGN_TOP
、wxALIGN_CENTRE
或 wxALIGN_BOTTOM
的其中一種。
傳回列標籤的目前寬度。
-spec getRowLabelValue(This, Row) -> unicode:charlist() when This :: wxGrid(), Row :: integer().
傳回指定的列標籤。
預設網格表格類別提供數字列標籤。如果您使用的是自訂網格表格,您可以覆寫 wxGridTableBase::GetRowLabelValue()
(未在 wx 中實作)以提供您自己的標籤。
傳回列可以調整的最小尺寸。
使用 setRowMinimalAcceptableHeight/2
以全域方式變更此值,或使用 setRowMinimalHeight/3
來針對個別儲存格進行變更。
傳回指定列的高度。
傳回水平捲動增量中每個增量的像素數。
預設值為 15。
請參閱
傳回垂直捲動增量中每個增量的像素數。
預設值為 15。
請參閱
傳回個別選取儲存格的陣列。
請注意,此陣列通常 不
包含所有選取的儲存格,因為它不包含選取為欄、列或區塊選取一部分的儲存格。您必須使用此方法、getSelectedCols/1
、getSelectedRows/1
和 getSelectionBlockTopLeft/1
和 getSelectionBlockBottomRight/1
方法來取得一般的完整選取範圍。
請注意,此行為是設計使然,並且為了支援任意大小的網格(當在具有一百萬欄的網格中選取整個欄時,我們不希望在此函式中建立一個包含一百萬個條目的陣列,而是傳回一個空陣列,而 getSelectedCols/1
則傳回一個包含一個元素的陣列)。
對於大型網格,此函式可能會很慢,請在新程式碼中使用 GetSelectedBlocks()
(未在 wx 中實作)。
傳回選取欄的陣列。
請注意,此方法本身不足以找到所有選取的欄,因為它僅包含單獨選取的欄,而不包含屬於區塊選取的一部分或因個別選取其所有儲存格而被選取的欄,請參閱 getSelectedCells/1
以取得更多詳細資訊。
對於大型網格,此函式可能會很慢,請在新程式碼中使用 GetSelectedBlocks()
(未在 wx 中實作)。
傳回選取列的陣列。
請注意,此方法本身不足以找到所有選取的列,因為它僅包含單獨選取的列,而不包含屬於區塊選取的一部分或因個別選取其所有儲存格而被選取的列,請參閱 getSelectedCells/1
以取得更多詳細資訊。
對於大型網格,此函式可能會很慢,請在新程式碼中使用 GetSelectedBlocks()
(未在 wx 中實作)。
-spec getSelectionBackground(This) -> wx:wx_colour4() when This :: wxGrid().
傳回用於繪製選取背景的顏色。
-spec getSelectionBlockBottomRight(This) -> [{R :: integer(), C :: integer()}] when This :: wxGrid().
傳回選取儲存格區塊的右下角陣列。
有關 wxGrid
中選取範圍表示法的詳細資訊,請參閱 getSelectedCells/1
。
對於大型網格,此函式可能會很慢,請在新程式碼中使用 GetSelectedBlocks()
(未在 wx 中實作)。
傳回選取儲存格區塊的左上角陣列。
有關 wxGrid
中選取範圍表示法的詳細資訊,請參閱 getSelectedCells/1
。
對於大型網格,此函式可能會很慢,請在新程式碼中使用 GetSelectedBlocks()
(未在 wx 中實作)。
-spec getSelectionForeground(This) -> wx:wx_colour4() when This :: wxGrid().
傳回用於繪製選取前景的顏色。
如果開啟繪製網格線則傳回 true,否則傳回 false。
-spec hideCellEditControl(This) -> ok when This :: wxGrid().
隱藏就地儲存格編輯控制項。
等同於 insertCols(This, [])
。
-spec insertCols(This, [Option]) -> boolean() when This :: wxGrid(), Option :: {pos, integer()} | {numCols, integer()} | {updateLabels, boolean()}.
將一個或多個新欄插入網格中,第一個新欄在指定的位置。
請注意,在網格中插入欄需要網格表格的合作:當呼叫此方法時,網格物件會先請求底層網格表格插入新的欄。如果成功,表格會通知網格,並且網格會更新顯示。對於預設網格(您已呼叫 createGrid/4
的網格),此過程是自動的。如果您使用的是自訂網格表格(使用 SetTable()
(未在 wx 中實作)或 AssignTable()
(未在 wx 中實作)指定),則您必須在衍生表格類別中覆寫 wxGridTableBase::InsertCols()
(未在 wx 中實作)。
傳回:如果成功插入欄,則為 true;如果發生錯誤,則為 false(很可能是無法更新表格)。
等同於 insertRows(This, [])
。
-spec insertRows(This, [Option]) -> boolean() when This :: wxGrid(), Option :: {pos, integer()} | {numRows, integer()} | {updateLabels, boolean()}.
將一個或多個新列插入網格中,第一個新列在指定的位置。
請注意,如果您使用具有自訂表格的網格,則必須實作 wxGridTableBase::InsertRows()
(未在 wx 中實作),請參閱 insertCols/2
以取得更多資訊。
傳回:如果成功插入列,則為 true;如果發生錯誤,則為 false(很可能是無法更新表格)。
如果目前已啟用就地編輯控制項,則傳回 true。
如果目前儲存格為唯讀,則傳回 true。
請參閱
如果整個網格已設定為唯讀則傳回 false,否則傳回 true。
有關控制網格儲存格編輯狀態的更多資訊,請參閱 enableEditing/2
。
-spec isInSelection(This, Coords) -> boolean() when This :: wxGrid(), Coords :: {R :: integer(), C :: integer()}.
如果給定的儲存格已選取,則傳回 true。
-spec isInSelection(This, Row, Col) -> boolean() when This :: wxGrid(), Row :: integer(), Col :: integer().
如果給定的儲存格已選取,則傳回 true。
-spec isReadOnly(This, Row, Col) -> boolean() when This :: wxGrid(), Row :: integer(), Col :: integer().
如果無法編輯指定位置的儲存格,則傳回 true。
請參閱
如果目前有任何已選取的儲存格、列、欄或區塊,則傳回 true。
-spec isVisible(This, Row, Col) -> boolean() when This :: wxGrid(), Row :: integer(), Col :: integer(); (This, Coords, [Option]) -> boolean() when This :: wxGrid(), Coords :: {R :: integer(), C :: integer()}, Option :: {wholeCellVisible, boolean()}.
如果儲存格完全或至少部分在網格視窗中可見,則傳回 true。
預設情況下,儲存格必須完全可見,此函式才會傳回 true,但如果 wholeCellVisible
為 false,即使儲存格僅部分可見,此函式也會傳回 true。
-spec isVisible(This, Row, Col, [Option]) -> boolean() when This :: wxGrid(), Row :: integer(), Col :: integer(), Option :: {wholeCellVisible, boolean()}.
如果儲存格完全或至少部分在網格視窗中可見,則傳回 true。
預設情況下,儲存格必須完全可見,此函式才會傳回 true,但如果 wholeCellVisible
為 false,即使儲存格僅部分可見,此函式也會傳回 true。
-spec makeCellVisible(This, Coords) -> ok when This :: wxGrid(), Coords :: {R :: integer(), C :: integer()}.
將指定的儲存格帶入可見網格儲存格區域,並儘量減少捲動。
如果儲存格已可見,則不會執行任何操作。
-spec makeCellVisible(This, Row, Col) -> ok when This :: wxGrid(), Row :: integer(), Col :: integer().
將指定的儲存格帶入可見網格儲存格區域,並儘量減少捲動。
如果儲存格已可見,則不會執行任何操作。
-spec moveCursorDown(This, ExpandSelection) -> boolean() when This :: wxGrid(), ExpandSelection :: boolean().
將網格游標向下移動一列。
如果先前選取了儲存格區塊,則如果引數為 true,則會展開該區塊,如果引數為 false,則會清除該區塊。
-spec moveCursorDownBlock(This, ExpandSelection) -> boolean() when This :: wxGrid(), ExpandSelection :: boolean().
在目前欄中將網格游標向下移動,使其跳到非空白儲存格區塊的開頭或結尾。
如果先前選取了儲存格區塊,則如果引數為 true,則會展開該區塊,如果引數為 false,則會清除該區塊。
-spec moveCursorLeft(This, ExpandSelection) -> boolean() when This :: wxGrid(), ExpandSelection :: boolean().
將網格游標向左移動一欄。
如果先前選取了儲存格區塊,則如果引數為 true,則會展開該區塊,如果引數為 false,則會清除該區塊。
-spec moveCursorLeftBlock(This, ExpandSelection) -> boolean() when This :: wxGrid(), ExpandSelection :: boolean().
在目前列中將網格游標向左移動,使其跳到非空白儲存格區塊的開頭或結尾。
如果先前選取了儲存格區塊,則如果引數為 true,則會展開該區塊,如果引數為 false,則會清除該區塊。
-spec moveCursorRight(This, ExpandSelection) -> boolean() when This :: wxGrid(), ExpandSelection :: boolean().
將網格游標向右移動一欄。
如果先前選取了儲存格區塊,則如果引數為 true,則會展開該區塊,如果引數為 false,則會清除該區塊。
-spec moveCursorRightBlock(This, ExpandSelection) -> boolean() when This :: wxGrid(), ExpandSelection :: boolean().
在目前列中將網格游標向右移動,使其跳到非空白儲存格區塊的開頭或結尾。
如果先前選取了儲存格區塊,則如果引數為 true,則會展開該區塊,如果引數為 false,則會清除該區塊。
-spec moveCursorUp(This, ExpandSelection) -> boolean() when This :: wxGrid(), ExpandSelection :: boolean().
將網格游標向上移動一列。
如果先前選取了儲存格區塊,則如果引數為 true,則會展開該區塊,如果引數為 false,則會清除該區塊。
-spec moveCursorUpBlock(This, ExpandSelection) -> boolean() when This :: wxGrid(), ExpandSelection :: boolean().
在目前欄中將網格游標向上移動,使其跳到非空白儲存格區塊的開頭或結尾。
如果先前選取了儲存格區塊,則如果引數為 true,則會展開該區塊,如果引數為 false,則會清除該區塊。
將網格游標向下移動一些列,以便先前的底部可見列變成頂部可見列。
將網格游標向上移動一些列,以便先前的頂部可見列變成底部可見列。
-spec new() -> wxGrid().
預設建構函式。
您必須呼叫 Create()
(未在 wx 中實作)以真正建立網格視窗,並且還必須呼叫 createGrid/4
或 SetTable()
(未在 wx 中實作)或 AssignTable()
(未在 wx 中實作)以初始化其內容。
-spec new(Parent, Id) -> wxGrid() when Parent :: wxWindow:wxWindow(), Id :: integer().
等同於 new(Parent, Id, [])
。
-spec new(Parent, Id, [Option]) -> wxGrid() when Parent :: wxWindow:wxWindow(), Id :: integer(), Option :: {pos, {X :: integer(), Y :: integer()}} | {size, {W :: integer(), H :: integer()}} | {style, integer()}.
建構建立網格視窗的函式。
您必須呼叫 createGrid/4
或 SetTable()
(未在 wx 中實作)或 AssignTable()
(未在 wx 中實作)以在開始使用網格之前初始化網格內容。
-spec registerDataType(This, TypeName, Renderer, Editor) -> ok when This :: wxGrid(), TypeName :: unicode:chardata(), Renderer :: wxGridCellRenderer:wxGridCellRenderer(), Editor :: wxGridCellEditor:wxGridCellEditor().
註冊新的資料類型。
資料類型允許自然地將特定的渲染器和編輯器與包含指定類型值的儲存格相關聯。例如,網格會自動註冊一個名稱為 wxGRID_VALUE_STRING
的資料類型,該資料類型使用 wxGridCellStringRenderer
和 wxGridCellTextEditor
作為其渲染器和編輯器 - 這是預設 wxGridStringTable
(未在 wx 中實作)的所有儲存格使用的資料類型,因此預設會針對所有網格儲存格使用此渲染器和編輯器。
但是,如果自訂表格從其 wxGridTableBase::GetTypeName()
(未在 wx 中實作)方法傳回 wxGRID_VALUE_BOOL
,則會為其使用 wxGridCellBoolRenderer
和 wxGridCellBoolEditor
,因為網格也會使用此名稱註冊布林資料類型。
而且由於此機制是完全通用的,您可以註冊使用您自己的自訂渲染器和編輯器的自訂資料類型。只需記住,表格必須將儲存格識別為給定類型,以便將其用於此儲存格。
-spec saveEditControlValue(This) -> ok when This :: wxGrid().
將目前網格儲存格的值設定為目前的就地編輯控制項值。
當網格游標從目前儲存格移動到新的儲存格時,會自動呼叫此函式。在關閉網格時呼叫此函式也是一個好主意,因為否則不會儲存對最終儲存格位置的任何編輯。
-spec selectAll(This) -> ok when This :: wxGrid().
選取網格中的所有儲存格。
-spec selectBlock(This, TopLeft, BottomRight, [Option]) -> ok when This :: wxGrid(), TopLeft :: {R :: integer(), C :: integer()}, BottomRight :: {R :: integer(), C :: integer()}, Option :: {addToSelected, boolean()}.
選取矩形儲存格區塊。
如果 addToSelected
為 false,則會取消選取任何現有的選取範圍;如果為 true,則會將該欄新增至現有的選取範圍。
-spec selectBlock(This, TopRow, LeftCol, BottomRow, RightCol) -> ok when This :: wxGrid(), TopRow :: integer(), LeftCol :: integer(), BottomRow :: integer(), RightCol :: integer().
等同於 selectBlock(This, TopRow, LeftCol, BottomRow, RightCol, [])
。
-spec selectBlock(This, TopRow, LeftCol, BottomRow, RightCol, [Option]) -> ok when This :: wxGrid(), TopRow :: integer(), LeftCol :: integer(), BottomRow :: integer(), RightCol :: integer(), Option :: {addToSelected, boolean()}.
選取矩形儲存格區塊。
如果 addToSelected
為 false,則會取消選取任何現有的選取範圍;如果為 true,則會將該欄新增至現有的選取範圍。
-spec selectCol(This, Col, [Option]) -> ok when This :: wxGrid(), Col :: integer(), Option :: {addToSelected, boolean()}.
選取指定的欄。
如果 addToSelected
為 false,則會取消選取任何現有的選取範圍;如果為 true,則會將該欄新增至現有的選取範圍。
如果目前的選取模式為 wxGridSelectRows,則此方法不會選取任何內容。
-spec selectRow(This, Row, [Option]) -> ok when This :: wxGrid(), Row :: integer(), Option :: {addToSelected, boolean()}.
選取指定的列。
如果 addToSelected
為 false,則會取消選取任何現有的選取範圍;如果為 true,則會將該列新增至現有的選取範圍。
如果目前的選取模式為 wxGridSelectColumns,則此方法不會選取任何內容。
-spec setCellAlignment(This, Row, Col, Horiz, Vert) -> ok when This :: wxGrid(), Row :: integer(), Col :: integer(), Horiz :: integer(), Vert :: integer().
設定指定位置網格儲存格文字的水平和垂直對齊方式。
水平對齊方式應為 wxALIGN_LEFT
、wxALIGN_CENTRE
或 wxALIGN_RIGHT
其中之一。
垂直對齊方式應為 wxALIGN_TOP
、wxALIGN_CENTRE
或 wxALIGN_BOTTOM
其中之一。
-spec setCellBackgroundColour(This, Row, Col, Colour) -> ok when This :: wxGrid(), Row :: integer(), Col :: integer(), Colour :: wx:wx_colour().
設定給定儲存格的背景顏色,或預設所有儲存格的背景顏色。
-spec setCellEditor(This, Row, Col, Editor) -> ok when This :: wxGrid(), Row :: integer(), Col :: integer(), Editor :: wxGridCellEditor:wxGridCellEditor().
設定指定位置網格儲存格的編輯器。
網格將取得指標的所有權。
如需關於儲存格編輯器和呈現器的詳細資訊,請參閱 wxGridCellEditor
和 overview_grid。
-spec setCellFont(This, Row, Col, Font) -> ok when This :: wxGrid(), Row :: integer(), Col :: integer(), Font :: wxFont:wxFont().
設定指定位置網格儲存格中文字的字型。
-spec setCellRenderer(This, Row, Col, Renderer) -> ok when This :: wxGrid(), Row :: integer(), Col :: integer(), Renderer :: wxGridCellRenderer:wxGridCellRenderer().
設定指定位置網格儲存格的轉譯器。
網格將取得指標的所有權。
如需關於儲存格編輯器和呈現器的詳細資訊,請參閱 wxGridCellRenderer
和 overview_grid。
-spec setCellTextColour(This, Row, Col, Colour) -> ok when This :: wxGrid(), Row :: integer(), Col :: integer(), Colour :: wx:wx_colour().
設定給定儲存格的文字顏色。
-spec setCellValue(This, Coords, S) -> ok when This :: wxGrid(), Coords :: {R :: integer(), C :: integer()}, S :: unicode:chardata().
設定指定位置儲存格的字串值。
對於網格物件自動使用字串值的預設網格表格的簡單應用程式,您可以使用此函式以及 getCellValue/3
來存取儲存格值。對於更複雜的應用程式,如果您已衍生出包含各種資料類型(例如數字、布林值或使用者定義的自訂類型)的自訂網格表格類別,則僅針對包含字串值的那些儲存格使用此函式。
有關更多資訊,請參閱 wxGridTableBase::CanSetValueAs()
(未在 wx 中實作)和 overview_grid。
-spec setCellValue(This, Row, Col, S) -> ok when This :: wxGrid(), Row :: integer(), Col :: integer(), S :: unicode:chardata().
設定指定位置儲存格的字串值。
對於網格物件自動使用字串值的預設網格表格的簡單應用程式,您可以使用此函式以及 getCellValue/3
來存取儲存格值。對於更複雜的應用程式,如果您已衍生出包含各種資料類型(例如數字、布林值或使用者定義的自訂類型)的自訂網格表格類別,則僅針對包含字串值的那些儲存格使用此函式。
有關更多資訊,請參閱 wxGridTableBase::CanSetValueAs()
(未在 wx 中實作)和 overview_grid。
-spec setColAttr(This, Col, Attr) -> ok when This :: wxGrid(), Col :: integer(), Attr :: wxGridCellAttr:wxGridCellAttr().
設定指定欄中所有儲存格的儲存格屬性。
有關控制網格儲存格屬性的更多資訊,請參閱 wxGridCellAttr
儲存格屬性類別和 overview_grid。
設定指定的欄以顯示布林值。
-spec setColFormatCustom(This, Col, TypeName) -> ok when This :: wxGrid(), Col :: integer(), TypeName :: unicode:chardata().
設定指定的欄以自訂格式顯示資料。
這個方法提供了一種替代方案,可以不用定義自訂的網格表格,該表格會從其 GetTypeName() 方法中針對此欄中的儲存格返回 typeName
:雖然它並沒有真正改變此欄中儲存格的類型,但它會將用於指定類型儲存格的渲染器和編輯器與它們關聯起來。
有關使用自訂資料類型的更多資訊,請參閱 overview_grid。
-spec setColFormatFloat(This, Col, [Option]) -> ok when This :: wxGrid(), Col :: integer(), Option :: {width, integer()} | {precision, integer()}.
設定指定的欄以指定的寬度和精確度顯示浮點值。
設定指定的欄以顯示整數值。
-spec setColLabelAlignment(This, Horiz, Vert) -> ok when This :: wxGrid(), Horiz :: integer(), Vert :: integer().
設定欄標籤文字的水平和垂直對齊方式。
水平對齊應該是 wxALIGN_LEFT
、wxALIGN_CENTRE
或 wxALIGN_RIGHT
其中之一。垂直對齊應該是 wxALIGN_TOP
、wxALIGN_CENTRE
或 wxALIGN_BOTTOM
其中之一。
設定欄標籤的高度。
如果 height
等於 wxGRID_AUTOSIZE
,則會自動計算高度,以確保沒有標籤被截斷。請注意,對於大型表格來說,這可能會比較慢。
-spec setColLabelValue(This, Col, Value) -> ok when This :: wxGrid(), Col :: integer(), Value :: unicode:chardata().
設定給定欄標籤的值。
如果您正在使用自訂的網格表格,您必須覆寫 wxGridTableBase::SetColLabelValue()
(在 wx 中未實作),這才會產生任何效果。
設定使用者可以調整欄大小的最小 width
。
-spec setColMinimalWidth(This, Col, Width) -> ok when This :: wxGrid(), Col :: integer(), Width :: integer().
設定指定欄 col
的最小 width
。
通常最好在建立網格時呼叫此方法,因為稍後呼叫它將不會將欄調整為給定的最小寬度,即使它目前比該寬度窄。
width
必須大於 getColMinimalAcceptableWidth/1
返回的最小可接受欄寬度。
-spec setColSize(This, Col, Width) -> ok when This :: wxGrid(), Col :: integer(), Width :: integer().
設定指定欄的寬度。
-spec setDefaultCellAlignment(This, Horiz, Vert) -> ok when This :: wxGrid(), Horiz :: integer(), Vert :: integer().
設定網格儲存格文字的預設水平和垂直對齊方式。
水平對齊應該是 wxALIGN_LEFT
、wxALIGN_CENTRE
或 wxALIGN_RIGHT
其中之一。垂直對齊應該是 wxALIGN_TOP
、wxALIGN_CENTRE
或 wxALIGN_BOTTOM
其中之一。
-spec setDefaultCellBackgroundColour(This, Colour) -> ok when This :: wxGrid(), Colour :: wx:wx_colour().
設定網格儲存格的預設背景顏色。
-spec setDefaultCellFont(This, Font) -> ok when This :: wxGrid(), Font :: wxFont:wxFont().
設定網格儲存格文字要使用的預設字型。
-spec setDefaultCellTextColour(This, Colour) -> ok when This :: wxGrid(), Colour :: wx:wx_colour().
設定網格儲存格文字的目前預設顏色。
-spec setDefaultColSize(This, Width, [Option]) -> ok when This :: wxGrid(), Width :: integer(), Option :: {resizeExistingCols, boolean()}.
設定網格中欄的預設寬度。
除非 resizeExistingCols
為 true,否則這只會影響隨後新增到網格的欄。
如果 width
小於 getColMinimalAcceptableWidth/1
,則會改為使用最小可接受寬度。
-spec setDefaultEditor(This, Editor) -> ok when This :: wxGrid(), Editor :: wxGridCellEditor:wxGridCellEditor().
設定網格儲存格的預設編輯器。
網格將取得指標的所有權。
如需關於儲存格編輯器和呈現器的詳細資訊,請參閱 wxGridCellEditor
和 overview_grid。
-spec setDefaultRenderer(This, Renderer) -> ok when This :: wxGrid(), Renderer :: wxGridCellRenderer:wxGridCellRenderer().
設定網格儲存格的預設轉譯器。
網格將取得指標的所有權。
如需關於儲存格編輯器和呈現器的詳細資訊,請參閱 wxGridCellRenderer
和 overview_grid。
-spec setDefaultRowSize(This, Height, [Option]) -> ok when This :: wxGrid(), Height :: integer(), Option :: {resizeExistingRows, boolean()}.
設定網格中列的預設高度。
除非 resizeExistingRows
為 true,否則這只會影響隨後新增到網格的列。
如果 height
小於 getRowMinimalAcceptableHeight/1
,則會改為使用最小可接受高度。
-spec setGridCursor(This, Coords) -> ok when This :: wxGrid(), Coords :: {R :: integer(), C :: integer()}.
將網格游標設定為指定的儲存格。
網格游標指示當前儲存格,使用者可以使用方向鍵或滑鼠移動游標。
呼叫此函數會產生一個 wxEVT_GRID_SELECT_CELL
事件,如果事件處理程序否決此事件,則游標不會移動。
此函數不會使目標呼叫可見,請使用 GoToCell()
(在 wx 中未實作)來執行此操作。
-spec setGridCursor(This, Row, Col) -> ok when This :: wxGrid(), Row :: integer(), Col :: integer().
將網格游標設定為指定的儲存格。
網格游標指示當前儲存格,使用者可以使用方向鍵或滑鼠移動游標。
呼叫此函數會產生一個 wxEVT_GRID_SELECT_CELL
事件,如果事件處理程序否決此事件,則游標不會移動。
此函數不會使目標呼叫可見,請使用 GoToCell()
(在 wx 中未實作)來執行此操作。
-spec setGridLineColour(This, Colour) -> ok when This :: wxGrid(), Colour :: wx:wx_colour().
設定用於繪製網格線的顏色。
-spec setLabelBackgroundColour(This, Colour) -> ok when This :: wxGrid(), Colour :: wx:wx_colour().
設定列和欄標籤的背景顏色。
-spec setLabelFont(This, Font) -> ok when This :: wxGrid(), Font :: wxFont:wxFont().
設定列和欄標籤的字型。
-spec setLabelTextColour(This, Colour) -> ok when This :: wxGrid(), Colour :: wx:wx_colour().
設定列和欄標籤文字的顏色。
-spec setMargins(This, ExtraWidth, ExtraHeight) -> ok when This :: wxGrid(), ExtraWidth :: integer(), ExtraHeight :: integer().
設定網格區域周圍使用的額外邊界。
網格可能佔用比其資料顯示所需的更多空間,此函數允許設定這個額外空間的大小。
-spec setReadOnly(This, Row, Col, [Option]) -> ok when This :: wxGrid(), Row :: integer(), Col :: integer(), Option :: {isReadOnly, boolean()}.
使指定位置的儲存格為唯讀或可編輯。
請參閱:isReadOnly/3
-spec setRowAttr(This, Row, Attr) -> ok when This :: wxGrid(), Row :: integer(), Attr :: wxGridCellAttr:wxGridCellAttr().
設定指定列中所有儲存格的儲存格屬性。
網格取得屬性指標的所有權。
有關控制儲存格屬性的更多資訊,請參閱 wxGridCellAttr
類別。
-spec setRowLabelAlignment(This, Horiz, Vert) -> ok when This :: wxGrid(), Horiz :: integer(), Vert :: integer().
設定列標籤文字的水平和垂直對齊方式。
水平對齊應該是 wxALIGN_LEFT
、wxALIGN_CENTRE
或 wxALIGN_RIGHT
其中之一。垂直對齊應該是 wxALIGN_TOP
、wxALIGN_CENTRE
或 wxALIGN_BOTTOM
其中之一。
設定列標籤的寬度。
如果 width
等於 wxGRID_AUTOSIZE
,則會自動計算寬度,以確保沒有標籤被截斷。請注意,對於大型表格來說,這可能會比較慢。
-spec setRowLabelValue(This, Row, Value) -> ok when This :: wxGrid(), Row :: integer(), Value :: unicode:chardata().
設定給定列標籤的值。
如果您正在使用衍生的網格表格,您必須覆寫 wxGridTableBase::SetRowLabelValue()
(在 wx 中未實作),這才會產生任何效果。
設定預設使用的最小列 height
。
有關更多資訊,請參閱 setColMinimalAcceptableWidth/2
。
-spec setRowMinimalHeight(This, Row, Height) -> ok when This :: wxGrid(), Row :: integer(), Height :: integer().
設定指定的 row
的最小 height
。
有關更多資訊,請參閱 setColMinimalWidth/3
。
-spec setRowSize(This, Row, Height) -> ok when This :: wxGrid(), Row :: integer(), Height :: integer().
設定指定列的高度。
有關更多資訊,請參閱 setColSize/3
。
設定水平捲動時,每次捲動的像素數量。
預設值為 15。
請參閱
設定垂直捲動時,每次捲動的像素數量。
預設值為 15。
請參閱
-spec setSelectionBackground(This, C) -> ok when This :: wxGrid(), C :: wx:wx_colour().
設定繪製選取背景所使用的顏色。
-spec setSelectionForeground(This, C) -> ok when This :: wxGrid(), C :: wx:wx_colour().
設定繪製選取前景所使用的顏色。
-spec setSelectionMode(This, Selmode) -> ok when This :: wxGrid(), Selmode :: wx:wx_enum().
設定網格的選取行為。
如果可能,現有的選取範圍會轉換為符合新模式,否則會被捨棄(例如,如果新模式只允許選取整個列或欄,則會取消選取任何個別選取的儲存格)。
-spec showCellEditControl(This) -> ok when This :: wxGrid().
顯示目前儲存格隱藏的啟用中就地編輯控制項。
此方法應僅在呼叫 hideCellEditControl/1
之後呼叫,若要開始編輯當前的網格儲存格,請改用 enableCellEditControl/2
。
等同於 xToCol(This, X, [])
。
-spec xToCol(This, X, [Option]) -> integer() when This :: wxGrid(), X :: integer(), Option :: {clipToMinMax, boolean()}.
根據視窗,傳回指定像素位置的欄位。
返回:欄索引或 wxNOT_FOUND
。
傳回其右邊緣靠近指定邏輯 x
位置的欄位。
如果此位置附近沒有欄邊緣,則返回 wxNOT_FOUND
。
傳回其底邊緣靠近指定邏輯 y
位置的列。
如果此位置附近沒有列邊緣,則返回 wxNOT_FOUND
。
等同於 yToRow(This, Y, [])
。
-spec yToRow(This, Y, [Option]) -> integer() when This :: wxGrid(), Y :: integer(), Option :: {clipToMinMax, boolean()}.
傳回對應到邏輯 y
座標的網格列。
自 wxWidgets 3.1.3 以來,參數 gridWindow
是新的。如果指定了它(即非 NULL),則僅考慮此視窗的儲存格,也就是說,如果 y
超出範圍,則該函數返回 wxNOT_FOUND
。
如果 gridWindow
為 NULL,則僅當 y
位置完全沒有列時,該函數才返回 wxNOT_FOUND
。