对DBGrid中的列进行显示与否的设置

类别:Delphi 点击:0 评论:0 推荐:

下面代码主要完成的是在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;

本文地址:http://com.8s8s.com/it/it4654.htm