<1>、制作复杂标题行
标题行可设为2行以上高度,并可以为多列创建一个共同的父标题行。为实现这个效果,需
在各个列标题属性中以“|”分隔父标题和子标题,如办公用品包括代码和名称两部分,具
体属性设置如下:
usemultititile=true;
titlelines=2
DBGridEh.Columns[0].Title.Caption := '办公用品|代码 ';
DBGridEh.Columns[1].Title.Caption := '办公用品|名称 ';
<2>、标题行显示图片
首先添加一个imagelist组件img1并在其中添加一组bmp,ico格式的图片。然后将DBGridEh
的TitleImages设置为img1.最后在需要显示图片的列标题的Title/imageindex中设置需要显
示的img1中图片的序号。
<3>、自动显示标题行的升降排序标志符(▽降序△升序)并做相应排序
DBGridEh组件可以在标题行单元格中显示小三角形升、降排序标志符图片,在运行时可点
击标题行,图片自动切换并做相应排序。具体属性设置如下:
DBGridEh中的: 属性OptionsEh中的子属性dghAutoSortMarking:设置为true;
DBGridEh中某一列的属性Title中的子属性TitleButton:设置为true ;
SortMarkedColumns 为当前排序列可在运行时使用.
然后在该列的ontitleBtnclick事件中添加代码:
procedure TForm_Query.DBGridEh1TitleBtnClick(Sender: TObject; ACol: Integer; Column: TColumnEh); var sortstring:string; //排序列 begin //进行排序 with Column do begin if FieldName = ' ' then Exit; if TADOQuery(TDBGridEh(Sender).DataSource.DataSet).Active = False then Exit; case Title.SortMarker of smNoneEh: begin Title.SortMarker := smDownEh; sortstring := Column.FieldName + ' ASC '; end; smDownEh:begin sortstring := Column.FieldName + ' ASC '; end; smUpEh: begin sortstring := Column.FieldName + ' DESC '; end; end; try //进行排序 TADOQuery(TDBGridEh(Sender).DataSource.DataSet).Sort := sortstring except end; end; end;
切记lookup型字段不可做上述设置,否则系统会提示错误。