只能用SQL语句来控制要显示的内容

解决方案 »

  1.   

    如何使dbgrid根据记录某一字段值决定是否显示阿?
    是是否显示什么呀?是显示这条记录还是这一列?或是显示别的什么?
    你应该说清楚
      

  2.   

    用  sql 在数据库端控制吧
      

  3.   

    select fld1,fld2 from  tbl_sample where fld_filter <> filter_value
      

  4.   

    可是dbgrid怎么知道显示什么阿?我写了上面的句子,可是dbgrid没反映阿!
      

  5.   

    控制 DBGrid.DataSource.DataSet中的记录,让它只包含你想要显示的记录
      

  6.   

    在所对应的DataSet的OnGetText中处理。
      

  7.   

    首先,设置TDataSet.Filter := '';
    然后,设置TDataSet.Filtered := True;
    最后,编写TDataSet的onFilterRecord事件处理过程,根据设定的条件进行判断,如果需要显示记录则设定Accept := True,否则Accept := False请参阅Delphi帮助文档以便获得详细信息。关键词:TDataSet.Filter,TDataSet.Filtered,TDataSet.onFilterRecord。另外,对于TDataSet的子类,上述方法也可用。
      

  8.   

    首先,设置TDataSet.Filter := '';
    然后,设置TDataSet.Filtered := True;
    最后,编写TDataSet的onFilterRecord事件处理过程,根据设定的条件进行判断,如果需要显示记录则设定Accept := True,否则Accept := False请参阅Delphi帮助文档以便获得详细信息。关键词:TDataSet.Filter,TDataSet.Filtered,TDataSet.onFilterRecord。另外,对于TDataSet的子类,上述方法也可用。
      

  9.   

    你应该添加一个QUERY控件和一个EDIT控件
    query1.Close ;
    query1.Databasename :=table1.DatabaseName ;
    query1.SQL.Clear ;
    str:='select * from table1.tablename where name=edit1.text'
    query1.SQL.Add(str);
    Dbgrid1.DataSource:= datasource1;
    datasource1.DataSet:=query1;
    try
    query1.Open ;
    except
    on e:edatabaseerror do
     messagedlg(e.Message ,mtinformation,[mbok],0);
     end;
     end;
    当然我只是举个例子,你可以将SQL语句中的字段NAME改成你表里的名字也可以
    用LISTBOX和COMBOBOX连接到数据源上来显示字段
    有空可以聊聊 :
    OICQ:10672301
      

  10.   

    这是概念的错误: 记录的筛选,用SQL语句完成。
    但可以利用dbgrid控件的属性将满足不同条件的记录用不同的颜色区分。
      

  11.   

    Query1.FieldByName('籍贯').Visible:=false;