Delphi查找对话框,DBGrid查找。 我用DBGrid,ADODataSet和DataSourse三个组件读取数据库的一个表,数据读出来了,现在想实现一个查找功能。即点击窗体上的“查找”按钮,出现查找对话框,在查找对话框里输入内容,然后点击“开始查找”按钮进行查询,查询之后在DBGrid中用不同颜色高亮显示该记录所在行。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要查找一条还是多条?只一条的话 可以使用ADODataSet.Locate来实现 改变DBGrid行颜色容易。如何动态改变TDBGrid中行的颜色,代码如下:procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);begin if Table1.FieldByName('Salary').AsCurrency>36000 then DBGrid1.Canvas.Brush.Color:=clWhite; DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);end; 上述代码执行的功能是:把薪水超过3万6千元的员工(employee)记录背景用白色(White)标出来。 查找功能,最好用ADODataSet.filter实现,参考Delphi的帮助文档。 DataSource1.DataSet.Locate('端口号码0',Edit1.text,[loPartialKey]);用这句实现了,查找,但是怎么让查找到的那行变颜色显示呢 不需要出现查找对话框,直接就在本DBGrid实现显示就可以了改变颜色procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);begin if Table1.FieldByName('端口号码0').AsCurrency=IntToStr(Edit1.text) then DBGrid1.Canvas.Brush.Color:=clYellow; DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);end; 求助:delphi xe3 如何调用WORD模板 内 表格插入一新行??急 易飞ERP问题 SQL delphi如何根据字段长度设置excel列宽 当数据库字段'DeptNo'有可能有空值时,请说出以下三个语句的区别。 怎样更新? TComboBox的一个很奇怪的问题 Delphi7下写一个简单COM+组件,并在ASP中调用该组件 小问题求救! 如何在菜单上显示大图片? 求:数据库控件,可编写独立于BDE的数据库应用程序,无任何其它附加的DLL TIdFTP下载的时候网络突然中断怎么处理? recv返回10035错误是啥原因?
如何动态改变TDBGrid中行的颜色,代码如下:procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Table1.FieldByName('Salary').AsCurrency>36000 then
DBGrid1.Canvas.Brush.Color:=clWhite;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end; 上述代码执行的功能是:把薪水超过3万6千元的员工(employee)记录背景用白色(White)标出来。
begin
if Table1.FieldByName('端口号码0').AsCurrency=IntToStr(Edit1.text) then
DBGrid1.Canvas.Brush.Color:=clYellow;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;