最近准备为公司网站用VB做个产品展示生成,生成部分基本没问题, 
问题出现在查询部分,使用了MSHFelxGrid(DATAGrid不能满足操作需求),本来以为收工了,昨天再次测试的时候发现了以下问题 当数据库字段为“Memo(Access备注)”的时候,使用MSHFlexGrid1.TextMatrix取得的值并不完全,长度只有999个字符……困扰了一天,请高人们来测试并说说解决方案。由于相当原因,排除掉修改数据库字段类型的方案。 源码如下: 
包括控件   textbox   x   1(可不要,显示测试用),MSHFlexGrid   x   1,Label   x   1 
数据库为Access,表Product内的SmallClassName字段为Memo类型,记录数据超过2000字符 Dim   con   As   New   ADODB.Connection 
Dim   Gs   As   New   ADODB.Recordset Private   Sub   Form_Load() 
con.ConnectionString   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source= "   &   App.Path   &   "/DB.mdb;Persist   Security   Info=False " 
con.Open 
Gs.CursorLocation   =   adUseClient 
Gs.Open   "select   *   From   product   where   smallClassName   like   '% ' ",   con,   1,   1 
Set   MSHFlexGrid1.DataSource   =   Gs 
Gs.Close 
Text1.Text   =   MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row,   1) '显示测试用,可忽略该行
Label1.Caption   =   Len(MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row,   1)) 
End   Sub 
当运行后,Label1.caption   =   999

解决方案 »

  1.   

    MSHFlexGrid1.TextMatrix取得的值是有限制的,我以前碰到过,最后是在清理掉无用的信息,减少字符数量解决的,怎么突破我就不知道了
      

  2.   

    可以考虑双击该cell的时候弹出窗体
    窗体上放RichTextBox显示全部内容
    RichTextBox可以设置各种字体和颜色,能做的比较漂亮
    或放到Word中
      

  3.   

    唔,就算用了Richtextbox,还是没有解决掉999字符
      

  4.   

    即便MSHFelxGrid中能显示,客户看着也不方便,还是用richtextbox显示好
    MSHFelxGrid中如果能在备注后加一列加上按钮就更好了
      

  5.   

    只能调用Word了
    Richtextbox有限制,但够用
    memo字段也有限制吧?
      

  6.   

    那就用用Word好了
    双击cell的时候读出来动态写到Word中
      

  7.   

    显示SmallClassName字段的列加一个小按钮,点击单元格时显示出按钮,由按钮查看详细信息;
    详细信息写在textbox或RichTextBox里都成,主要是前面的工作.
      

  8.   


    5G?是1行记录吗?我猜应该不是,1行记录是2000字符(lz说的),再加两列,设为隐藏,后加一列加上按钮,客户点击按钮后把三列内容全部放到richtextbox显示,是2000字符,不是5G
      

  9.   

    说错了,是Memo类型可容纳长度为536870910的字符
      

  10.   

    需要把smallClassname的内容发送到粘贴板上去,还有操作表格响应相关动作,所以使用MSHFLEXGRID的话,估计是无法实现了,迟点把程序改了,使用很不喜欢的datagrid了,等多一天送分了……