dbgrid控件,如何不让增加?(50分)

  • 主题发起人 hzyang2003
  • 开始时间
H

hzyang2003

Unregistered / Unconfirmed
GUEST, unregistred user!
我用dbgrid作为数据库的录入界面,但当到最后时,如果按向下箭头,则如增加一空行,如果按ctrl+del则倒删除记录,请问各位高手,如何才能避免这些问题?
 
设置DBGrid的属性(Option),里边有你想要处理的项目!
 
procedure Tldkrlfrm.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=Char(VK_RETURN) then
begin
SendMessage(DBGrid1.Handle,WM_KEYDOWN, VK_DOWN,0);
Key:=Char(0);
end;
end;

 
dbgrid.datasource.dataset的afterinsert事件写
abort;
 
你把Options中的dgEditing置为False就可以解决下箭头的问题了
对于Ctrl+Del可以删除记录的问题,我建议你用DBGridEh控件,它可以有效解决这一问题!
只要将其AllowedOperations中的alopDeleteEh置为False就行了!
 
请部dbgrideh控件什么地方有,如果将Options中的dgEditing置为False,不是不能编辑了吗
 
noedit可以解决增加问题。
添加ON_Keydown 控制ctrl+d可以解决删除问题
 
如果noedit后,就不能修改,我要的是能修改,不能删除和增加
 
写一个方法
procedure TFrom1.MyafterInsert(DataSet: TDataSet);
begin
DataSet.Cancel;
end;
要限制其新增功能时
ClientDataSet1.AfterInsert := MyafterInsert;
要取消限制新增功能时
ClientDataSet1.AfterInsert := nil;
限制删除功能也可以这样控制
 
我有DBGRIDEH控件,给我你的EMAIL[:)]
 
顶部