| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 901 人关注过本帖
标题:请教一个MSHFLEXGRID的问题
只看楼主 加入收藏
lyppengpeng
Rank: 1
来 自:北京
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-5-7
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:12 
请教一个MSHFLEXGRID的问题
我想用MSHFLEXGRID显示一个表格,表格内容是我定义的二维数组data(10,10)的内容,请问这个程序怎么写?刚上手,这部分不太明白。

请各位前辈指点一下,谢谢各位了~~~
搜索更多相关主题的帖子: 表格 
2011-05-15 20:20
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:20 
你只是描述了你现有的状态~你有一个MSHFLEXGRID~还有一个二维数组data(10,10)的内容~
但是最重要的部份你没说出来~你要拿它们做啥?

不要選我當版主
2011-05-15 20:34
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
Sample....

程序代码:
Dim data() As String

Private Sub Form_Initialize()
Dim i As Integer, j As Integer, k As Integer

    ReDim data(10, 10)

    For i = 0 To 10
        If i <> 0 Then
            For j = 0 To 10
                If j <> 0 Then
                    data(i, j) = i & " - " & j
                Else
                    data(i, j) = i
                End If
            Next j
        Else
            For k = 0 To 10
                data(i, k) = k
            Next k
        End If
    Next i

End Sub

Private Sub Form_Load()
Dim i As Integer, j As Integer

    MSHFlexGrid1.Rows = 10 + 1
    MSHFlexGrid1.Cols = 10 + 1
    
    For i = 0 To 10
        For j = 0 To 10
            MSHFlexGrid1.TextMatrix(i, j) = data(i, j)
        Next j
    Next i
    
End Sub


[ 本帖最后由 wube 于 2011-5-15 20:54 编辑 ]

不要選我當版主
2011-05-15 20:43
lyppengpeng
Rank: 1
来 自:北京
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-5-7
收藏
得分:0 
回复 2楼 wube
哦,我是想拿他做个误差分析,关键就是为了把一些误差值显示出来,还有就是后续需要把这个表格保存成一个Excel文件。
2011-05-15 23:14
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:0 
以下是引用lyppengpeng在2011-5-15 20:20:11的发言:

我想用MSHFLEXGRID显示一个表格,表格内容是我定义的二维数组data(10,10)的内容,请问这个程序怎么写?刚上手,这部分不太明白。

请各位前辈指点一下,谢谢各位了~~~

回复 2楼 wube
 哦,我是想拿他做个误差分析,关键就是为了把一些误差值显示出来,还有就是后续需要把这个表格保存成一个Excel文件。

图片附件: 游客没有浏览图片的权限,请 登录注册

无知
2011-05-15 23:27
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
误差值分析~
只有你才看的出误差值~
或知道怎样算误差~
或误差的规则是啥~
这部份得靠你自己~
我们顶多知道怎么用控件把值秀出来和存成EXCEL的而已~
关键部分还得靠你自己~

不要選我當版主
2011-05-16 02:09
lyppengpeng
Rank: 1
来 自:北京
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-5-7
收藏
得分:0 
回复 5楼 Artless
斑竹这个截图真是。。。。
颜色好差
2011-05-16 10:11
lyppengpeng
Rank: 1
来 自:北京
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-5-7
收藏
得分:0 
回复 6楼 wube
对,误差分析这部分我自己都写好算法什么的了,关键就是不会用这个表格控件。谢谢你的程序,昨天太晚了,还没来得及试呢~~~~O(∩_∩)O~
2011-05-16 10:12
lyppengpeng
Rank: 1
来 自:北京
等 级:新手上路
帖 子:14
专家分:0
注 册:2011-5-7
收藏
得分:0 
回复 6楼 wube
还有就是保存成Excel文件还要麻烦帮忙一下,谢谢了~~~~
2011-05-16 10:57
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
保存法之前我也发过了~又要再发一次阿~先说我没试过MSHFlexGrid中版的~
这是一套MSHFlexGrid的加MSFlexGrid的的汇出模组~我只发一部份~你试试~

Form1
程序代码:
Private Sub cmdexposure_Click()
Dim intRowCounter As Integer
Dim intColCounter As Integer

    intRowCounter = MSHFlexGrid1.Rows 
    intColCounter = MSHFlexGrid1.Cols 
    
    Call MSHFlexGrid_To_Excel(MSHFlexGrid1, intRowCounter, intColCounter, , "CC")     'MSHFlexGrid1
End Sub


Module
程序代码:
Public Sub MSHFlexGrid_To_Excel(TheFlexgrid As MSHFlexGrid, TheRows As Integer, TheCols As Integer, Optional GridStyle As Integer = 1, Optional WorkSheetName As String)

Dim objXL As New Excel.Application
Dim wbXL As New Excel.Workbook
Dim wsXL As New Excel.Worksheet
Dim intRow As Integer ' counter
Dim intCol As Integer ' counter

     If Not IsObject(objXL) Then
         MsgBox "You need Microsoft Excel to use this function", vbExclamation, "Print to Excel"
         Exit Sub
     End If
    
     'On Error Resume Next is necessary because
     'someone may pass more rows
     'or columns than the flexgrid has
    
     'you can instead check for this,
     'or rewrite the function so that
     'it exports all non-fixed cells
     'to Excel
    
     On Error Resume Next
    
     ' open Excel
     objXL.Visible = True
     Set wbXL = objXL.Workbooks.Add
     Set wsXL = objXL.ActiveSheet
    
     ' name the worksheet
     With wsXL
         If Not WorkSheetName = "" Then
             .Name = WorkSheetName
         End If
     End With
    
     ' fill worksheet
     'MsgBox TheRows
     'MsgBox TheCols
    
     For intRow = 1 To TheRows
         For intCol = 1 To TheCols
             With TheFlexgrid
                wsXL.Cells(intRow, intCol).Value = .TextMatrix(intRow - 1, intCol - 1) & " "
             End With
         Next
     Next
    
     ' format the look
     For intCol = 1 To TheCols
         wsXL.Columns(intCol).AutoFit
         'wsXL.Columns(intCol).AutoFormat (1)
        wsXL.Range("a1", Right(wsXL.Columns(TheCols).AddressLocal, 1) & TheRows).AutoFormat GridStyle
     Next


 End Sub

不要選我當版主
2011-05-16 15:05
快速回复:请教一个MSHFLEXGRID的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049922 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved