向数据库网格添加颜色将增强外观并区分数据库中某些行或列的重要性。我们将通过关注DBGrid来实现这一点,它为显示数据提供了一个很棒的用户界面工具。
我们假设您已经知道如何将数据库连接到DBGrid组件。实现这一点的最简单方法是使用数据库表单向导。从DBDemos别名中选择employee.db,并选择除EmpNo以外的所有字段。
要在视觉上增强用户界面,您可以做的第一件也是最简单的事情是为数据感知网格中的各个列着色。我们将通过网格的TColumns属性来实现这一点。
在表单中选择网格组件,并通过双击对象检查器中网格的Columns属性来调用Columns编辑器。
唯一要做的就是为任何特定列指定单元格的背景色。有关文本前景色,请参见字体属性。
提示:有关列编辑器的更多信息,请查看列编辑器:在Delphi帮助文件中创建持久列。
如果要为DBGrid中的选定行着色,但不希望使用dgRowSelect选项(因为您希望能够编辑数据),则应改为使用DBGrid.OnDrawColumnCell事件。
此技术演示如何动态更改DBGrid中文本的颜色:
procedure TForm1.DBGrid1DrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);beginif Table1.FieldByName('Salary').AsCurrency>36000 then DBGrid1.Canvas.Font.Color:=clMaroon;DBGrid1.DefaultDrawColumnCell (Rect, DataCol, Column, State);end;以下是如何动态更改DBGrid中行的颜色:
procedure TForm1.DBGrid1DrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);beginif Table1.FieldByName('Salary').AsCurrency>36000 then DBGrid1.Canvas.Brush.Color:=clWhite;DBGrid1.DefaultDrawColumnCell (Rect, DataCol, Column, State);end;最后,下面介绍如何更改任何特定列的单元格背景色,以及文本前景色:
procedure TForm1.DBGrid1DrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);beginif Table1.FieldByName('Salary').AsCurrency>40000 thenbegin DBGrid1.Canvas.Font.Color:=clWhite; DBGrid1.Canvas.Brush.Color:=clBlack;end;if DataCol = 4 then //4 th column is 'Salary' DBGrid1.DefaultDrawColumnCell (Rect, DataCol, Column, State);end;如您所见,如果员工的工资高于4万,其工资单元格将显示为黑色,文本将显示为白色。
...候,这就像找到一个眼睛的背景色一样简单。让我们看看如何在Windows8中轻松更改背景/强调文字颜色。 Dear How-To Geek, It’s ridiculous, but I can’t tell you how much the default purple color in Windows 8 really bothers me. It’s so loud it hurts my face. I wan...
...驱动的问答网站分组。 问题 超级用户读者nitins想知道如何使Bash提示符在登录到服务器时更改颜色: Is there a way to make the Bash Prompt dynamic so that it changes color when I am logged into a server? I want the color to be green when using my own personal syste...
...有共享权限、NTFS权限、访问控制列表等等。以下是它们如何协同工作。 安全标识符 Windows操作系统使用sid来表示所有安全主体。SID只是表示机器、用户和组的字母数字字符的可变长度字符串。每次授予用户或组对文件或文件夹...
...务必查看Windows 7上本极客学校系列的前几篇文章: 介绍如何去极客学校 升级和迁移 配置设备 管理磁盘 管理应用程序 管理Internet Explorer IP寻址基础 网络 无线网络 防火墙 远程管理 远程访问 监视、性能并保持Windows的最新状态 ...
...一种方法来移除教程中的几乎所有背景。你可能还想看看如何创建一个Photoshop动作删除背景和如何删除复杂的背景在这里。 Have a pressing tech question? Shoot us an email at [email protected] and we’ll do our best to answer it.
...块(大的和小的)打包到您拥有的空间中。 现在,这是如何应用到您的闪存驱动器?拥有较大集群的好处是减少了寻道时间。这实际上只对传统硬盘有帮助,因为您希望尽量减少磁头在硬盘上移动的时间。闪存驱动器(和固态...
...图显示了在电流滞后于电压30度的交流电路中,瞬时功率如何随电位差和电流而变化。虚线突出显示了平均功率。 Variation of voltage, power and current in an AC circuit 请注意,瞬时功率为负时,时间间隔很小。这是因为在这个电路中,在...
...建一个示例应用程序 在Delphi中启动一个新表单,并放置TDBGrid、TaToTable和TADOConnection、TDataSource。 将所有组件名称保留为第一次放入表单时的状态(DBGrid1、ADOQuery1、AdoTable1等)。使用对象检查器设置ADOConnection1组件(TADOConnection...
...是外部样式表中。 避免使用已弃用的标记。 以下是如何使用标记更改单词的颜色: 在代码视图模式下使用首选文本或HTML编辑器,将光标放在要着色的单词或单词组的第一个字母之前。 让我们用一个标记(包括class属性...
...步地执行此操作: 1.在主窗体上放置TQuery、TDataSource、TDBGrid、TEdit和TButton组件。2.将TDataSource组件的DataSet属性设置为Query1。3.将TDBGrid组件的DataSource属性设置为DataSource1。4.将TQuery组件的DatabaseName属性设置为DBDEMOS。5.双击TQuery的SQL...