我想在TSGRID里面,当光标移到ID这一列时,系统判断一下是否录入有值,
如果没有,光标定位到当前列,而不是跑到下一列
问如何做?

解决方案 »

  1.   

    顶一下我也想借问一下:
     1、 在GRidEH中,怎样判断当前行列中有无值,没有值时,按回车不下移一列
     2、 在GRidEH中,当是一个下拉选项,请问如何实现光标移到此列时,按向下键,下拉选项直接弹开。
    我可以给分的up
      

  2.   

    你试试在ONKEYDOWN下面写写
    ------------------------
    看在是个MM的份上,我给写了吧procedure TForm1.tsGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    var
      s : string;
    begin
      if Key =13 then begin
        s:=tsGrid1.Cell[ tsGrid1.CurrentDataCol,tsGrid1.CurrentDataRow];
        if s='' then key:=0;
      end;
    end;
      

  3.   

    TO :
       lijinghe1(副乡长) 
    更改一下:
     s:=tsGrid1.Cell[ tsGrid1.CurrentDataCol,tsGrid1.CurrentDataRow];
    是所有的必须输入
      
     s:=tsGrid1.Cell[ tsgrid1.Col['length'].id,tsGrid1.CurrentDataRow];
    是这一行必须输入,但是出现一个问题,
    如果要求录入的列在后面,那要求录入列的前面的列的光标也不会动了,是怎么加事!
      

  4.   

    procedure TForm1.tsGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    var
      s : string;
    begin
      //是否需要检查 tsGrid1.CurrentDataCol列,不需要就exit;
      if Key =13 then begin
        s:=tsGrid1.Cell[ tsGrid1.CurrentDataCol,tsGrid1.CurrentDataRow];
        if s='' then key:=0;
      end;
    end;
      

  5.   

    是否需要检查 tsGrid1.CurrentDataCol列,不需要就exit;
    可不可以举一个例子
      

  6.   

    http://www.itime.cn/bbs/UploadFile/mjj.swf
      

  7.   

    NAME:= tsgrid1.Col[tsgrid1.currentdatacol].Heading;
      //showMessage(slength);
      if  slength =('名字‘)  then
       begin
         exit;
       end;
      

  8.   

    menggirl(看天上浮云,胜似闲庭信步)的方法可用,
    准备结贴了!
      

  9.   

    再次感谢各位了,尤其是
     lijinghe1(副乡长) 
     baixue888(我的美丽只为你)