rt,好像加载的时候,换行符在MSFlexGrid中它是直接换行了,不是在单元格内换行的。
有什么方法解决吗?

解决方案 »

  1.   

    没用过,试试replace 成vbcr或vblf
      

  2.   

    换成vbcr他就直接跑下一行去了
      

  3.   

    MSHFlexGrid 控件
                Microsoft Hierarchical FlexGrid (MSHFlexGrid) 控件对表格数据进行显示和操作。在对包含字符串和图片的表格进行分类、合并以及格式化时,具有完全的灵活性。当绑定到 Data 控件上时,MSHFlexGrid 所显示的是只读数据。语法MSHFlexGrid说明可以将文本、图片,或者文本和图片,放在MSHFlexGrid 的任意单元中。Row 和 Col 属性指定了MSHFlexGrid 中的当前单元。程序员可以在代码中指定当前单元,也可以在运行时,使用鼠标或者方向键来对其进行修改。Text 属性引用当前单元的内容。如果单元的文本过长而不能在该单元中显示,而且 WordWrap 属性被设置为 True,那么文本就会换行到同一单元内的下一行。为了显示换行的文本,可能需要增加单元的列宽度(ColWidth 属性)或者行高度(RowHeight 属性)。
      

  4.   

    不能用WordWrap,首先列宽是固定的,我不是因为一行显示不下让他自动换行,而是我放在这个一单格中的内容本身就是分行显示的,比如我要显示成以下:
    ----------------------
    | 1.计划:XXXX       |
    | 2.调研:XXXXXXXX   |
    | 3.实施:XX         |
    | 4.培训:XXXXXXXXXX |
    ----------------------
      

  5.   

    如果不用 WordWrap,怕是没有直接的方法在一个单元格内自动显示定义了格式的多行。因为只有 WordWrap = True 时,换行等格式化字符才生效。当然,你可以将一个 Lable 的内容的像素通过 BitBlt 弄到单元格去。不过麻烦一些了。Private Sub Form_Load()
    MSFlexGrid1.Row = 0
    MSFlexGrid1.Col = 0
    MSFlexGrid1.WordWrap = True
    MSFlexGrid1.RowHeight(0) = MSFlexGrid1.RowHeight(0) * 4
    MSFlexGrid1.ColWidth(0) = 2400
    MSFlexGrid1.CellAlignment = 1
    MSFlexGrid1.Text = "1.计划:XXXX " & vbCrLf & "2.调研:XXXXXXXX" & vbCrLf & "3.实施:XX " & vbCrLf & "4.培训:XXXXXXXXXX"
    End Sub另外,不要按行填充。否则会添加成多行。因为换行符缺省作为记录分隔符的。
      

  6.   

    我一共有300行的记录要加载,先用ADDITEM按行加载一编(因为有多列,其它列不需要换行),然后这一列用.TEXT的方式再加载一遍,对速度有影响吗?