如何控制dbgrid单元格的数据的合法性
说白了,就是当数据不合法的时候,怎样让焦点定位到表格里的不合法数据那一格,而让其他任何单元格都不能得到输入焦点,其他控件也不能得到输入焦点,除非格子里的数据合法了

解决方案 »

  1.   

    for i:=0 TO DBGRID1.FIELDScount-1
    if dbgrid1.fields[i].asstring  不合法 then
    fields[i].setfocus;
    dbgrid1.datasource.dataset.next;
      

  2.   

    数据集的静态字段的settext事件
    procedure TForm1.ADOQuery1slSetText(Sender: TField;
    const Text: String);
    begin
    try
    strtofloat(text);
    sender.Value:=text;
    except
    showmessage('error');
    sender.value:=sender.value;
    Abort;
    end;
    end;
      

  3.   

    这个也根所连接的DataSet中字段的类型有关;
    另外,也可以有Inforpower的WWDBGrid,然后再以MskEdit来指定它的输入格式;