如何在tdbgrid显示的纪录中查找某个纪录
以及知道当前指针所指向的纪录
以及其某个字段的内容。

解决方案 »

  1.   

    用什么数据控件
    如果是query的话用filter就成,至于所指内容如下
    query.fieldbyname('f1').asstring;
    query.fieldbyname('...').asstring;
    query.fieldbyname('fn').asstring;
    不足不道,不知对否
      

  2.   

    table1.locate('fieldname','text',[]);//查找
    table1.fields[i].asstring;
    dbgrid1.fields[i].asstring;//不知想实现什么
      

  3.   

    查找可以使用locate或者lookup方法
    某字段的内容用FieldByName('字段名称').value
      

  4.   

    1. 首先,不是在DBGid中查找记录,而是在dbgrid->datasource->dataset中查找记录;找到后,dbgrid的指针直接指向那条记录。
    2. 如果你的DataSet是Table
       Table1.IndexFieldNames:='Field1;Field2;...' //查找时的依据字段名
       Table1.FindKey([value1,value2,...]);
        //找到后,dbgrid指向该记录,如果有多条符合,指向第一条
    3. 如果你的DataSet是Query
       Query1.locate('Field1;Field2;...',VarArrayOf([value1,value2,...]),[loPartialKey]);
       最后一个参数可选[loPartialKey](字符串可部分匹配),[loCaseInsensitive],[]
       Table, ADOTable...也可以Locate,基本一样
      

  5.   

    Table1.FieldByName('Field1').asFloat/asString/asInteger/asDateTime
    Table1.Fields.Fields[0].asFloat/asString/asInteger/asDateTimeQuery1.FieldByName('Field1').asFloat/asString/asInteger/asDateTime
    Query1.Fields.Fields[0].asFloat/asString/asInteger/asDateTime以上四种方法都可以得到某字段的值
      

  6.   

    信箱:[email protected] 不过我不经常看
    在CSDN发短消息不好吗?