簡介,最新功能,
簡介
FLexArray格線擴展控制項
能夠設定每個單元格的顏色和字型/能夠對單元內容能進行快速有效的排序/設定RowPosition和ColPosition屬性,即可在運行狀態移動行列的位置/使用MergeCell屬性,無須改寫代碼即可將內容一致的單元格加以合併/能夠在設計過程定義行列的頁眉、寬度和位置,進行界面設計/改變預設字型大小,能夠自動調整與之相對應的單元格尺寸/支持2000行以上表格,單元格內容可達32k以上/能夠進行行列的隱藏/能夠進行字型的微調整(參考FontWidth屬性)/具有多種多樣的格線形式和色彩/支持圖文混排/多種游標和被選擇內容的顯示方式等等。
FlexString字元串處理控制項
能夠設定檢索字元串與置換字元串, 在表格中找到與檢索字元串相符的字元並將其置換為置換字元串中設定的字元/可以將檢索字元串分成幾個欄位,給每個欄位加入標籤,使用標籤代替字元串進行檢索與置換/使用規範化表達式,規範化表達式是一個設定和匹配字元串的注釋,類似於數學公式里的運算符。
最新功能
提供了豐富的功能可以迅速創建靈活、功能強大的前端,無須用戶額外支出。VSFlexGrid Pro 7.0 100%向下兼容VB環境下的MSFlexGrid,所以對於的版本升級非常容易。
提供的新功能可顯示、模組編輯、格式化、組織、概括、列印表格數據。數據可以按條件初始化,對於超出指定範圍的數據會加強表示。可用戶化輸入格線和單個單元外觀幾乎所有的方面,並利用相似值合併鄰近單元,使得表格更容易讀取分析。
支持ADO和OLE DB
VSFlexGrid Pro支持ADO和OLE DB,支持統一的字元編碼以及DAO數據的 存取,提供多重數據連線的選擇。 ADO/OLEDB、DAO可連線到二維、三維 數組或其他VSFlexGrid控制項,用戶也可創建用戶自己的數據源類。甚至可以 在無界模式中使用表格,或將表格連線到變數數組及一用戶可自己開發的數據 源。
完整的列印功能
可以保存、檢索多張表格和列印格式。最新的PrintGrid方法可讓用戶列印單 條語句,能夠控制紙張定位、頁邊、文本字型,顯示一對話框讓用戶選擇設 置印表機。同時也可控制頁中斷,添加表頭,並在每一頁上添加用戶單元。
支持分層數據
可進行排序, 模組編輯,轉化組合框和圖表框和自動數據聚合。甚至可使用 VSFlexGrid Pro 分級顯示數據。類似於樹形控制項,通過顯示刪除或擴張的結點 用來表示含有附加數據的分支。分級顯示樹可在任一列中出現,甚至可出現 在異步分支上。分級顯示樹的外觀可用NodeOpenPicture 和NodeClosedPicture 的屬性用戶化。
更簡單的版本
如果用戶的套用工具無須資料庫的支持,VSFlexGrid Pro包含了表格控制項更簡 單的版本。使用VSFlexGrid Pro新的非綁定版本可以使應用程式的尺寸最小, 發布應用程式時也不需要發布相應的ADO動態程式庫.消除了DLL版本的問題。
其他功能
VSFlexGrid控制項允許跨越多重行與列合併值相同的鄰近單元。提高了數據在表 格中顯示,提高了數據的讀取和分析。單元合併可用於創建合併的圖表表頭、 合併的數據視圖,以及創建能將文本溢出到相鄰列的表格。
禁止模組
輸入模板可說明自動控制項以及有效數據的輸入,減少了數據輸入的錯誤。模組 語法類似於Microsoft MaskedEdit 控制項和Microsoft Access中的模組語法。
Component One Vs-Flex Grid pro 7.0
VB標準網路控制項和文本控制項的擴展
版本:7.0
標準價格:41,300.00 元
使用許可權:發布免費
近期推出Videosoft公司一款全新的ActiveX控制項---VSFlexGridPro7.0。 VSFlexGrid Pro 7.0 是一功能強大 的數據表格控制項,高速、緊湊、靈活、輕便、無須依賴任何套用工具,支持數據化格式選項,能將表格列連線到圖象列和牆紙屬性上以提高套用工具的實現程度。如果套用工具無須資料庫的支持,如果你的應用程式不需要資料庫的支持,那么使用VSFlexGrid Pro新的非綁定版本可以使應用程式的尺寸最小,而且發布應用程式時也不需要發布相應的ADO動態程式庫. VSFlexGrid Pro 7.0可代替任何簡單的列表框,瀏覽器,記事本等等,所以說它不僅僅只是一個表格控制項。
[主要特點]
[新特性]
禁止模組
[控制項屬性一覽表]
FlexString控制項屬性一覽表
Error失敗時取得錯誤信息
MatchCount取得與檢索條件相一致的字元串數量
MatchIndex設定與檢索條件相一致的字元串的索引
MatchLength取得與檢索條件相一致的字元串長度
MatchStart
取得與檢索條件相一致的字元串起始位置
MatchString取得與檢索條件相一致的字元串
Pattern 設定檢索條件
Replace設定置換字元串
SoundexText取得代表當前檢索字元的聲音代碼
TagCount取得與檢索條件相一致的標籤數量
TagIndex在多個標籤情況下,設定/取得與檢索條件相一致的標籤索引
TagLength取得與檢索條件相一致的標籤長度
TagStart取得與檢索條件相一致的標籤起始位置
TagString取得與檢索條件相一致的標籤的字元串
Text設定成為檢索對象
Version取得FlexString的版本號
FlexString控制項屬性一覽表
AllowBigSelection設定行列頭的選擇
AllowUserResizing設定行列大小的設定
BackColor設定FlexArray所有表格的背景顏色
BackColorBkg設定背景顏色
BackColorFixed設定固定行/列的背景顏色
BackColorSel設定選擇單元的背景顏色
CellAlignment設定單元里數據的排列方式
CellBackColor設定單元或指定範圍的背景顏色
CellFontBold把單元或指定範圍的字型設定為黑體字
CellFontItalic把單元或指定範圍的字型設定為斜體字
CellFontName設定單元或指定範圍的字型
CellFontSize設定單元或指定範圍字型的大小
CellFontWidth設定單元或指定範圍字型的寬度
CellForeColor設定單元或指定範圍字型的顏色
CellHeight返回當前單元的高度
CellLeft返回當前單元的左端位置
CellTop返回當前單元的頂端位置
CellWidth返回當前單元的寬度
CellPicture指定顯示在單元或指定範圍中的圖片
CellPicture
Alingment指定單元或範圍中圖片的顯示位置
CellTextStyle設定單元文本的顯示形式
Clip<設定/返回選擇範圍的內容
Col設定/返回激活單元的列號
ColAlingment( )設定/返回列的排列方式
ColData( )設定/返回一個用戶定義信息的長整形數據
ColPosition( )移動列的位置
Cols指定返回列的總數
ColSel指定選擇范
ColWidth( )設定所指定列的寬度
FillStyle指定是否改變當前單元或選擇範圍的內容或單元格式
FixedCols設定固定列的總數
FixedRows設定固定行的總數
FocusRect設定選中單元周圍的Focus Rectangle類型
FontWidth設定字型的寬度
ForeColorFixed設定固定單元的文本顏色
ForeColorSel設定選擇單元的文本顏色
FormatString在設計過程中設定列寬、排列方式及固定的行/列
GridColor指定格線線的顏色
GridColorFixed設定固定格線線的顏色
GridLines指定格線線的類型
GridLinesFixed指定固定單元的格線線形式
HighLight設定是否突出顯示選中單元
LeftCol指定顯示在最左邊的列
MergeCells設定是否合併內容相同的單元格
MergeCol( )設定指定列的單元合併
MergeRow( )設定指定行的單元合併
MouseCol設定滑鼠指向的列號
MouseRow設定滑鼠指向的行號
ReDraw設定是否刷新FlexArray控制項
Picture返回FlexArray控制項的圖片
PictureType指定用Picture屬性生成的圖片類型
Row設定/返回激活單元的行號
RowData( )設定/返回一個用戶定義信息的長整形數據
RowHeight( )設定指定行的高度
RowHeightMin設定行高的最小值
RowPosition( )移動行的位置
Rows指定行的總數
RowSel指定行的選擇範圍
SelectionMode設定行、列或單元的選擇方式
ScrollBars設定捲動軸的類型
ScrollTrack設定捲動方式
Sort按照選擇的基準重新排列行的順序
Text設定/取得單元的文本
TextArray( )設定/取得任意單元的文本
TextMatrix( )設定/取得任意單元的文本
TextStyle顯示單元中文本的3D效果
TextStyleFixed顯示固定行/列中文本的3D效果
TopRow指定顯示在最上面的行
Version
FlexArray控制項的版本號
WordWrap設定單元中的文本是否換行
Private Sub VSFlexGrid1_AfterEdit(ByVal Row As Long, ByVal Col As Long)
With VSFlexGrid1
If .Col = .Cols - 1 Then
'如果到了最右邊的列就跳到下一行第一個可非固定列
.Row = Row + 1
.Col = .FixedCols
Else
'向右移動一列
.Col = Col + 1
End If
End With
End Sub
vsflexGrid 如何只能讓某些特定列可編輯
'修改前看到是否需要修改
Private Sub Grid_BeforeEdit(ByVal Row As Long, ByVal Col As Long, Cancel As Boolean)
'On Error GoTo err
If UiI10101.valueInt > 2 Then '*************定義允許修改的狀態,需修改
Cancel = True
Exit Sub
End If
If Grid.Col = Grid.cols - 8 or Grid.Col = Grid.cols - 7 Then '*************定義可以修改的列,需修改
Cancel = False '使其有效
Else
Cancel = True '使其無效為真
End If
Exit Sub
Err:
RaiseErr "frmY005-Grid_MouseDown()"
End Sub
'修改後判斷是否合法
'cancel=true 取消修改的
Private Sub Grid_ValidateEdit(ByVal Row As Long, ByVal Col As Long, Cancel As Boolean)
On Error Resume Next
If Not IsNumeric(Grid.EditText) Then
MsgBox "輸入不合法,應輸入一個數值", vbInformation, "提示"
Cancel = True
Exit Sub
End If
End Sub
'修改後來更改別的一些數據
Private Sub Grid_AfterEdit(ByVal Row As Long, ByVal Col As Long)
On Error Resume Next
'進貨數量=包裝數量 * 整裝數量 + 零裝數量
Grid.TextMatrix(Row, Grid.cols - 6) = Grid.TextMatrix(Row, Grid.cols - 9) * Grid.TextMatrix(Row, Grid.cols - 8) + Grid.TextMatrix(Row, Grid.cols - 7)
End Sub
VSFLEXGRID7中文輸入法自動關閉問題提示
同種數據類型的單元格之間變換不要重啟輸入法.....
還有可以看看這代碼
Private Declare FunctionGetKeyboardLayoutListLib "user32" (ByVal nBuff As Long, _
lpList As Long) As Long
Private Declare FunctionGetKeyboardLayoutNameLib "user32" Alias "GetKeyboardLayoutNameA" _
(ByVal pwszKLID As String) As Long
Private Declare FunctionGetKeyboardLayoutLib "user32" (ByVal dwLayout As Long) As Long
Private Declare Function ImmGetDescription Lib "imm32.dll" Alias "ImmGetDescriptionA" (ByVal _
hkl As Long, ByVal lpsz As String, ByVal uBufLen As Long) As Long
Private Declare FunctionActivateKeyboardLayoutLib "user32" (ByVal hkl As Long, ByVal _
flags As Long) As Long
Const IME_CONFIG_GENERAL = 1
Const KLF_REORDER = &H8
Const KLF_ACTIVATE = &H1
Dim la(1 To 16) As Long '輸入法列表
Dim ActIme As Long '當前輸入法
Dim X% '當單前輸入法數量
Private Sub Form_Load()
X =GetKeyboardLayoutList(32, la(1))
end sub
Private Sub vs1_AfterEdit(ByVal Row As Long, ByVal Col As long) 'vsflexgrid 控制項存在輸入問題? 以下為避免方法
Dim colNumber As Long
Dim i As Long
Dim strName$
if col=1 then
ActivateKeyboardLayoutla(1), 1
else
ActivateKeyboardLayoutla(2), 2
end if
end Sub
用.AddItem在最後一行顯示數據
Rst_Hj.Open HjSQL, Cnn_Zl, adOpenDynamic, adLockOptimistic 'RST_hj是合計的記錄集
Main_YX.VSFlexGrid1.AddItem vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & "合計" & vbTab & Rst_Hj.Fields(0) & vbTab & Rst_Hj.Fields(1) & vbTab & Rst_Hj.Fields(2) & vbTab & Rst_Hj.Fields(3) 'VBTAB是跳過一格填寫
Rst_Hj.Close
'刪除連續選擇的記錄
If VSFlexGrid1.Row <> -1 And VSFlexGrid1.RowSel <> -1 Then
msg = MsgBox("你真的要刪除這些記錄嗎?", vbYesNo + vbQuestion)
Select Case msg
Case vbYes
For I = VSFlexGrid1.Row To VSFlexGrid1.RowSel
Str = Str + VSFlexGrid1.TextMatrix(I, 1) + ","
Next
Str = Mid(Str, 1, Len(Str) - 1)
Cmd_Zl.ActiveConnection = Cnn_Zl
Cmd_Zl.CommandText = "delete from zlk where 序號 in (" + Str + ")"
Cmd_Zl.Execute
Set Cmd_Zl = Nothing
Case vbNo
Command6.Enabled = True
Rst_Zl.Close
Exit Sub
End Select
Else
MsgBox "請選擇您要刪除的記錄!!!", vbExclamation
Exit Sub
End If
這是用vsprinter列印vsflexgrid內容的例子,你可做參考。頁面設定的功能我也正在查找,如果找到肯定共享。
With VSPrinter1
'設定表頭,創建列印文檔
.Header = "|" & strTitle & vbCrLf & "|Page %d " '顯示Page n功能
.StartDoc
.Zoom = 100'顯示比例
.RenderControl = vsFlexGrid1.Hwnd'把格線內容傳遞給vsView顯示
.EndDoc
End With