1。怎样设置列的对齐属性?     虽然我没有设置它,但各列的对齐都不一样(有的左对齐,有的右对齐),难道它默认是随机的吗?     该怎么设置?2。有时需要根据操作添加空行来输入数据,这样的话在统计记录个数的时候必须判断尾部是否存在空行,我用cstr(grd1.textmarrix(grd1.rows,col1)="",isnull(grd1.textmarrix(grd1.rows,col1))以及isempty(grd1.textmarrix(grd1.rows,col1))三种方法试过了,都不行,     有人试过吗?

解决方案 »

  1.   


    ColAlignment、ColAlignmentBand、ColAlignmentHeader 属性 (MSHFlexGrid)
          返回或者设置列中数据的对齐方式。该列可以是一个标准列、带区中的一列或者标头中的一列。该属性在设计时是不可使用的(除非通过 FormatString 属性间接地使用)。语法object.ColAlignment(number) [=value]
    object.ColAlignmentBand(number) [=value]
    object.ColAlignmentHeader(number) [=value]ColAlignment、ColAlignmentBand 和 ColAlignmentHeader 属性的语法包括:部分 描述 
    object 一个对象表达式,其值是“应用于”列表中的一个对象。 
    number 一个 Long 数值,它指定了列在 MSHFlexGrid 中的编号。 
    value 一个整数或者常数,它指定了列中的数据的对齐方式,如“设置值”中所示。 
    设置值value 的设置值包括:常数 值 描述 
    flexAlignLeftTop 0 单元格的内容左、顶部对齐。 
    flexAlignLeftCenter 1 字符串的缺省对齐方式。单元格的内容左、居中对齐。 
    flexAlignLeftBottom 2 单元格的内容左、底部对齐。 
    flexAlignCenterTop 3 单元格的内容居中、顶部对齐。 
    flexAlignCenterCenter 4 单元格的内容居中、居中对齐。 
    flexAlignCenterBottom 5 单元格的内容居中、底部对齐。 
    flexAlignRightTop 6 单元格的内容右、顶部对齐。 
    flexAlignRightCenter 7 数值的缺省对齐方式。单元格的内容右、居中对齐。 
    flexAlignRightBottom 8 单元格的内容右、底部对齐。 
    flexAlignGeneral 9 单元格的内容按一般方式进行对齐。字符串按“左、居中”显示,数字按“右、居中”显示。 
    说明任何一列都可以有与其他列不同的对齐方式。ColAlignment 属性将影响指定列的所有单元格,包括位于固定行中的那些单元格。如果需要设置单个单元格的对齐方式,可以使用 CellAlignment 属性。如果需要在设计时设置列的对齐方式,可以使用 FormatString 属性。如果 MSHFlexGrid 处于垂直模式,那么设置 ColAlignment(3) 可以影响到多个带区中的若干列。
      

  2.   

    统计纪录个数可以在数据库中统计呀
    当然也可以这样:
    if  trim(grd1.textmarrix(grd1.rows,col1))+trim(grd1.textmarrix(grd1.rows,col2))+trim(grd1.textmarrix(grd1.rows,col3))+...="" then print "最后一行为空行"
      

  3.   

    1.msflexgrid1.colalignment(3) = flexAlignRight
      右对齐
    2.msflexgrid的行和列都是从0开始
    使用 cstr(grd1.textmarrix(grd1.rows,col1)="" 没有报错误???
    cstr()函数是用来转换字符串的函数, 楼主需要用的应该是instr吧?不太明白你的意思,如果是添加新的一行,直接使用additem方法就ok了,这儿为什么还要判断?if trim(grd1.textmarrix(grd1.rows-1,0)="" then
    ..........
    end if
      

  4.   

    先谢谢各位,上面两个问题自己已经搞定了。
    第一个根本就不该问,
    第二个问题不在判断语句上,
    而是在msflexgrid的keypress事件里if keyascii=vbkeydown根本没反应,好像不能捕捉到方向键,
    我是希望在最后一行按“下”键时如果该行不为空则增加一行,而按“上”键时如果最后一行为空则清除它。请问该怎么做?请继续关注!!!