hur.cn - 华软网

 热门搜索

大文本显示问题

  作者:未知    来源:网络    更新时间:2018/12/6
讨教,自由式表格中每列最多能够显示几个汉字,(155)
------华软网友回答------
你能够把高度拉高点,应该无限制
------华软网友回复------
字段类型应设为TEXT
------华软网友回复------
大文本报表显示自动折行问题 
 
  由于只有MultiLineEidt能使大文本自动折行,所以需要将每行的数据都加到各自的mle中,这里假定浏览的行数是固定的,因此只需要知道显示的顶行行号即可实现:
  dw_1.Object.DataWindow.FirstRowOnPage 属性正好能够解决这一问题。
  实现方法:
  在浏览窗口增加一个实例变量: string is_FirstRowOnPage = "" 。用于记录顶行行号在浏览窗口加一个新的函数   integer wf_refreshtext() :
  //假定dw_1为浏览数据窗口,mle_1, mle_2, mle_3为显示大文本的多行编辑框
  string ls_row
  long i , ll_FirstRowOnPage
  ls_Row = dw_1.Object.DataWindow.FirstRowOnPage
  If ls_Row = is_FirstRowOnPage then
    return 0 //如果顶行行号未变,不用刷新
  Else
    is_FirstRowOnPage = ls_Row
    ll_FirstRowOnPage = Long( ls_Row )
    mle_1.text = dw_1.object.Intro_Pic[ll_FirstRowOnPage ]
    mle_2.text = dw_1.object.Intro_Pic[ll_FirstRowOnPage + 1]
    mle_3.text = dw_1.object.Intro_Pic[ll_FirstRowOnPage + 2]
    return 1
  End If

  函数作好后,需要在可能改变数据窗口显示的地方调用,主要有两个地方:
  数据窗口的rowfocuschanged事件和scrollvertical事件。

  上面说的方法其折行以单词为单位,因此在显示中文时如果不含空格就不能折行,如果只是作为显示的话,有一个变通的方法:
  在需要显示大文本的地方放一个多行编辑框(MultiLineEdit):mle_1。
  在含有大文本数据列的数据窗口控件的rowfocuschanged事件中加入以下剧本:
  mle_1.text = this.object.Intro_Pic[currentrow] 
 
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。