设置对DBGrid中的列进行显示与否的方法
下面代码主要完成的是在DBGrid上弹出右键菜单,对DBGrid中的列进行显示与否的设置
//初始化PopupMenu中的列表
procedure InitMenuItem; var NewItem: TMenuItem; i:integer; begin for i:=0 to DBGrid1.Columns.Count-1 do begin NewItem:=TMenuItem.Create(nil); NewItem.Caption:=DBGrid1.Columns.Items[i].Title.Caption; NewItem.OnClick:=MenuOnClick; //添加弹出菜单子项的方法 NewItem.Checked:= true; PopupMenu1.Items.Add(NewItem); end; end;procedure MenuOnClick(Sender: TObject); begin TMenuItem(Sender).Checked:= not TMenuItem(Sender).Checked; DBGridDisplayInf; end;
procedure DBGridDisplayInf;
var i:integer; begin for i:=0 to PopupMenu1.Items.Count-1 do begin if not PopupMenu1.Items[i].Checked then DBGrid1.Columns.Items[i].Visible:= false else DBGrid1.Columns.Items[i].Visible:= true; end; end;